环境描述:
某公司装了一台SQL Server数据库,为了保证数据库能够在出现故障时及时的修复,管理员做了备份操作,比如说完整备份+差异备份或者完整备份+事务日志备份,而且备份的时间是每隔6个小时做一次完整备份,在每天的1点、6点、12点、18点,6个小时之内是每隔1个小时做一次差异备份或事务日志备份,并且和计划任务结合在了一起。 假如现在存在这样一种场景,在2点40分左右,突然间数据库无缘无故损坏了,差异备份或事务日志备份在3点才会自动去做,那么如何将2点到2点40之间的数据恢复呢?这就需要通过备份尾部日志进行恢复了。 实施步骤: 1、 首先创建一个数据库,并在数据库里创建一张表Dreamfire做测试用。数据库没有备份—应如何还原丢失的数据” src=”http:https://files.jb51.cc/upload/20090617005144469.jpg” border=0>
数据库没有备份—应如何还原丢失的数据” src=”http:https://files.jb51.cc/upload/20090617005147165.jpg” border=0>
数据库没有备份—应如何还原丢失的数据” src=”http:https://files.jb51.cc/upload/20090617005147674.jpg” border=0>
数据库没有备份—应如何还原丢失的数据” src=”http:https://files.jb51.cc/upload/20090617005147361.jpg” border=0>
3、 创建一张表为dbo.weibu,做测试用。假如这条记录是在2点到3点之间创建的。
数据库没有备份—应如何还原丢失的数据” src=”http:https://files.jb51.cc/upload/20090617005147954.jpg” border=0>
数据库没有备份—应如何还原丢失的数据” src=”http:https://files.jb51.cc/upload/20090617005148223.jpg” border=0>
5、 备份尾部日志并还原。
如果通过正常还原(完整备份+差异备份还原),只能还原dbo.Dreanfire这张表,并不能还原dbo.weibu这张表。这就需要在master数据库中备份数据库xiaonuo的尾部日志(删除xiaonuo数据库时,可不能连尾部日志也删除了),备份的时候,数据库选择“xiaonuo”,备份类型选择“事务日志”
数据库没有备份—应如何还原丢失的数据” src=”http:https://files.jb51.cc/upload/20090617005148199.jpg” border=0>
6、 进行完整备份+事务日志备份的还原
注意:还原了时候,最后会多一条日志备份记录,也就是刚才在master数据库上做的关于xiaonuo数据库的尾部日志备份。
还原完成之后,可以看到不但完整备份和差异备份的数据回来了,而且没有备份的数据也回来了。数据库没有备份—应如何还原丢失的数据” src=”http:https://files.jb51.cc/upload/20090617005148869.jpg” border=0>