SQL2000之数据库定点还原
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

实验人员:李政(长沙实力S2T15班)

实验目标:熟悉SQL2000数据库的备份及还原与定点还原;

实验思路:先恢复数据库的备份再进行定点还原;

实验注意:恢复前的尾日志的备份、恢复时的顺序;

实验环境:新建一数据库后备份新建表及输入数据再次进行备份删除表中的数据还原;

实验步骤:

新建数据库并进行备份

建立备份设备b,路径为c:\sql txt\b.bak(备份设备最好跟SQL服务器文件不要在同一磁盘中)
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

建立数据库b并备份到设备b

在数据库b中建立表ab并输入数据;

将数据库进行“事件日志”备份到设备b

删除表ab中的数据(模拟误操作);

执行上述操作后从下图中就可以看到表ab中的数据已经被清除;

数据的恢复

数据恢复之前一定要先将尾日志备份再进行恢复,否则在进行恢复后未备份的数据将被清除;

进行数据恢复不停止数据库,但数据库不能有连接;

尾日志的备份;

执行下列命令,格式:

Backup Log DataBaseName to Equipment With No_Truncate

说明:DataBaseName—数据库名称;

Equipment—设备名;

      SQL2000中如果数据库名和设备名之类名称中有特殊符号,则语句中使用“[”和“]”标示出来

本例为:

Backup Log b To b With No_Truncate

数据的还原;

1)、从设备b进行数据库的完全备份还原;

哪果不是还原最后的一个备份,则必须选择如下图选项,否则后面的日志文件无法恢复了

选择数据库的完全备份

确定后会开始进行还原,还原后如下图所示

2)、从设备b进行数据库的事务日志还原;

经过上面的步骤后,再次选择数据库还原会从下图中看出完全备份已经还原,而事件备份和尾日志备份还未还原

仍然选择从设备b还原

且选项中仍然选择如下图的第二项(因为还有备份未还原)

选择所要还原的事务日志并还原

还原后数据库如下图所示

3)、从设备b还原尾日志

一样选择从设备b还原数据库,并选择所备份的尾日志

因这是最后一个备份,所以选择如下图所示选择

因为在进行数据库的完全备份还原前数据库b中表ab中数据已经被清除,所以当恢复尾日志后,其数据也是被清除状态,如下图所示

而要恢复表ab中的数据,则应该进行数据库的定点还原,将表ab的状态还原至清除数据之前的状态

4)、数据的定点还原

选择数据库还原并选择好定点还原的时间必须在数据被删除之前的时间

还原后可以看到表ab中的数据都已经被还原了,如下图所示

如果选择的定点还原时间未能还原或只还原了一部份数据,则可多次进行定点还原来确定正确的还原点来恢复数据(选择正确的时间点则也可以恢复在事件日志备份及还原数据库之间时间段内被清除的文件)

 

 

实验总结:通过本次实验可以看出在生产中,数据库的备份非常重要,有一个好的习惯对工作非常有益。