数据库还原也称为数据库恢复,可以为SQL Server 2000中的每个数据库选择简单还原模型、完全还原模型、大容量日志记录还原模型等三种还原类型之一,以确定如何备份数据以及能承受何种程序的数据丢失。
使用简单还原模型可以将数据库还原到上次备份的即时点。不过,无法将数据库还 原到故障点或特定的即时点。若要还原到这些点,请选择完全还原或大容量日志记录 还原。
在媒体发生故障时,还原的过程如下:
· 还原最新的完整数据库备份。
· 如果有差异备份,则还原最新的那个备份。上次的数据库备份或差异备份后的更改将丢失。
完全还原模型使用数据库备份和事务日志备份提供对媒体故障的完全防范。如果一 个或多个数据文件损坏,则媒体还原可以还原所有已提交的事务。正在进行的事务将回滚。
完全还原提供将数据库还原到故障点或特定即时点的能力。为保证这种还原程度,包括大容量操作在内的所有操作都将完整地记入日志。
在一个数据库使用大容量日志记录还原模型时,除了某些大型的操作之外的所有操作都被完整地记录下来。索引的创建和批量装载操作被最小化地记录下来,该事务日志不会记录这些大型操作的细节情况,所以在发生故障后,不能根据这些日志文件将这些大型操作的结果还原。大容量日志记录还原模型可以使用完全备份、差异备份、文件备份、文件组备份和事务日志备份,提供对数据库故障的完全防范,并且对某些大规模或大容量复制操作提供最佳性能和最少的日志使用空间。在一个数据库采用大容量日志记录还原模型时,为了确保大型操作后数据不丢失,可以在大型操作后及时进行数据库的完全备份。
若要为一个数据库指定还原模型,可通过企业管理器进行设置。
(1)在企业管理器中找到要设定的数据库,右击该数据库,在弹出的快捷菜单中选择“属性”命令,或者直接双击该数据库,弹出数据库属性对话框,单击“选项”标签,打开“选项”选项卡,如图9-13所示。
图9-13 数据库选项属性
(2)单击“故障还原”选项组中“模型”文本框右侧的下三角按钮,在弹出的下拉列表框中选择合适的故障还原模型,选定后,单击“确定”按钮保存设置关闭对话框。
要还原数据库备份,可以使用企业管理器和Transact-SQL命令,本节主要介绍利用企业管理器来还原数据库,其操作步骤如下所示。
(1)在企业管理器中找到要执行还原的数据库,右击该数据库,在弹出的快捷菜单中选择“所有任务”→“还原数据库”菜单项,弹出如图9-14所示的“还原数据库”对话框。
图9-14 “还原数据库”对话框
(2)在“还原为数据库”文本框中可以选择一个已有的数据库,也可以输入一个新的数据库名,则以该名称建立一个新的数据库。
(3)在“还原”选项组中可以选择从当前数据库中恢复、从备份文件或文件组中恢复、从备份设备中恢复。
(4)单击“数据库”单选按钮后,如果需要用别的数据库备份进行替换还原,则在“参数”选项组中单击“显示数据库备份”后的下三角按钮,在弹出的下拉列表框中选择所需的数据库,然后单击“要还原的第一个备份”后的下三角按钮,从中选择合适的备份。
(5)在“还原”列表中,单击要还原的备份集前的复选框。
(6)单击“选项”标签,可打开如图9-15所示选项卡,在其中可以执行如下操作。
· 如果要为数据库指定新名称,可以在“还原为”栏中直接输入目标文件地址和名称。
· 如果要使本次还原后数据库可继续运行,单击“使数据库可以继续运行,但无法还原其他事务日志”单选按钮。
· 如果要使本次还原后数据库不再运行,以避免在两个恢复之间数据库发生改变,可以单击“使数据库不再运行,但能还原其他事务日志”单选按钮。
· 如果要使本次还原后数据库以只读方式运行,可以单击“使数据库为只读,但能还原其他事务日志”单选按钮。
(7)单击“确定”按钮,SQL Server开始还原操作,完成后,弹出对话框提示还原已顺利完成。
图9-15 还原数据库选项