1
数据库技术及应用
1.6.3.3 3.3.3 附加及分离数据库
3.3.3 附加及分离数据库

与以前的版本一样,SQL Server2008允许分离数据库的数据和事务日志文件,然后将其重新附加到同一台或另一台服务器上的实例中。分离数据库就是将从SQL Server的当前实例中分离出去,同时保持在组成该数据库的数据和事务日志文件中的数据库完好无损。附加数据库就是将数据库的数据和事务日志文件添加到所需的SQL Server实例上,且与分离之前的数据库完全相同。数据库对应的数据和事务日志文件只有在分离后方可复制到其他存储路径上。

1.分离数据库

下面以已经存在的数据库Student为例,介绍分离数据库的操作步骤。

(1)右键单击Student数据库,在弹出的快捷菜单中执行“任务”→“分离”命令,如图3-15所示。

(2)打开“分离数据库”窗口,选中“删除连接”和“更新统计信息”复选框,单击“确定”按钮即可对Student数据库进行分离,如图3-16所示。

(3)分离完成后,Student数据库在原来的实例中就不存在了。将分离后的数据库Student对应的数据和事务日志文件复制到D盘的根目录下(根据需要进行处理)。

2.附加数据库

下面详细介绍附加数据库的操作步骤。

(1)在“对象资源管理器”窗格中右键单击“数据库”节点,在弹出的快捷菜单中执行“附加”命令,如图3-17所示。

图3-15 执行“分离”命令

图3-16 “分离数据库”窗口

图3-17 执行“附加”命令

(2)打开“附加数据库”窗口,如图3-18所示,单击“添加”按钮。

图3-18 “附加数据库”窗口

(3)在打开的“定位数据库文件”窗口中选择D:\Student目录下的Student.mdf文件,单击“确定”按钮,如图3-19所示。

(4)SQL Server2008同时找到对应的事务日志文件Student_log.ldf,一并附加到当前数据库服务器的数据库中。单击“确定”按钮完成附加数据库的操作,如图3-20所示。

图3-19 “定位数据库文件”窗口

图3-20 “附加数据库”窗口

实战演练——管理BBS数据库

论坛数据库BBS创建成功后,可以随时查阅其属性,并可对其进行附加、分离、修改和删除操作。具体要求:在已创建的数据库BBS中,添加次要数据文件,逻辑文件名为BBS_data1,物理文件名为BBS_data1.ndf,初始容量为1MB,最大容量为10MB,递增量为1MB,文件存放位置为D:\SQL Server;将已修改成功的数据库BBS从服务器上分离出来,然后再将其附加到该SQL Server服务器上,最后把它从服务器上删除。

具体操作步骤如下:

1.用SSMS管理数据库

用SSMS管理数据库,具体操作步骤如下。

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:在该窗口左侧的“对象资源管理器”窗格中展开当前服务器的对象节点;右击BBS数据库节点,在弹出的快捷菜单中选择“属性”命令,打开“数据库属性BBS”窗口。

步骤3:在窗口左上方的“选择页”窗格中选择“文件”选项卡,右侧的窗格内容将相应地切换为数据库文件的属性信息。

步骤4:单击“添加”按钮,在当前数据库文件列表框的空白行中,依次输入逻辑文件名为BBS_data1,初始容量为1MB,单击“自动增长”表项栏目右侧的按钮,在弹出的如图3-21所示的“更改BBS_data1的自动增长设置”对话框中进行相应参数的修改:递增量为1MB;在“最大文件大小”选项组中进行设置,选中“限制文件增长”单选按钮,最大容量为10MB。单击“确定”按钮,可见数据文件的属性已经被修改。

图3-21 “更改BBS_datdl的自动增长设置”对话框

步骤5:返回“数据库属性BBS”窗口,输入路径为D:\SQL Server,文件名为BBS_data1.ndf。

步骤6:单击“数据库属性BBS”窗口中的“确定”按钮,使数据库的属性修改生效。

步骤7:在左侧的“对象资源管理器”窗格中右击BBS数据库节点,在弹出的快捷菜单中选择“任务”→“分离”命令,如图3-22所示。

图3-22 选择“分离”命令

步骤8:打开“分离数据库”窗口,在右侧窗格的“要分离的数据库”列表框中显示出要分离的数据库名称、删除连接、更新统计信息、状态、消息等项目,选中“删除连接”和“更新统计信息”复选框,单击“确定”按钮执行分离操作,如图3-23所示。已分离的数据库节点会立即从对象资源管理器的树形结构中被删除。

图3-23 “分离数据库”窗口

步骤9:在左侧的“对象资源管理器”窗格中右击“数据库”节点,在弹出的快捷菜单中选择“附加”命令,打开“附加数据库”窗口。单击“添加”按钮,如图3-24所示。

图3-24 “附加数据库”窗口

步骤10:打开“定位数据库文件”窗口,定位要附加数据库BBS的物理文件位置并选择BBS.mdf文件,单击“确定”按钮,如图3-25所示。

图3-25 “定位数据库文件”窗口

步骤11:然后返回到“附加数据库”窗口,SQL Server2008同时找到对应的事务日志文件Student_logl.df,一并附加到当前数据库服务器的数据库中。单击“确定”按钮,被附加的数据库会立即出现在对象资源管理器中的树形结构中,如图3-26所示。

图3-26 向当前数据库服务器的数据库中添加事务日志文件

步骤12:在左侧的“对象资源管理器”窗格中右击BBS数据库节点,在弹出的快捷菜单中选择“删除”命令,打开“删除对象”窗口,选中窗口下方的两个复选框,单击“确定”按钮,如图3-27所示,完成BBS数据库的删除操作。此时,在对象资源管理器中的BBS数据库节点已经消失。

图3-27 “删除对象”窗口

2.用T-SQL语句管理数据库

用T-SQL语句管理数据库,具体操作步骤如下:

步骤1:启动MicrosofT-SQL Server Management Studio。

步骤2:在该窗口中单击工具栏上的按钮,或者选择“文件”→“新建”→“使用当前连接查询”命令建立一个新的查询。

步骤3:在查询编辑窗口中编辑如下T-SQL代码:

步骤4:单击工具栏上的按钮来执行以上T-SQL代码,对于修改后的数据库BBS,可查看其文件属性信息,核对代码执行的结果是否正确。

步骤5:按步骤2的方法再建立一个新的查询。

步骤6:在查询编辑窗口中编辑如下T-SQL代码:

执行上述T-SQL代码后,在对象资源管理器中右击“数据库”节点,在弹出的快捷菜单中选择“刷新”命令,可见BBS数据库节点已经消失,验证了操作的正确性。