日期:2014-05-17  浏览次数:20570 次

sql2005利用日志恢复误删除的数据
sql2005运行在完整恢复模式下,
有一个今天凌晨1点的完整数据库备份1,早上9点误删除了一个表的数据。
这时紧急备份了事务日志
想通过备份1+备份的事务日志来恢复误删除的数据。没有其它的备份了
问题:
1、这种方式可行吗?主要是怀疑备份的事务日志是否记录了从凌晨1点到早上9点这段时间的所有数据库操作。
2、如果不可行,那我怎么才能保证备份的事务日志记录了从凌晨1点到早上9点这段时间的所有数据库操作。



------解决方案--------------------
你需要先还原最新的完整备份,如果有基于最新的完整备份的差异备份,那么接下来再还原最新的差异备份,最后是回复日志文件到指定恢复点(也就是说到你误删除数据之前的某个时间点)

楼主的问题其实不严重  首先你在发现数据误删之后及时做了尾部日志备份   这样就可以使用上面的恢复方式来实现数据的恢复。

基本操作步骤:
1,备份活动事务日志
2,还原最新完整数据库备份
3,如果存在差异备份,还原最新的差异备份
4,从还原备份后创建的第一个事务日志备份开始,使用NORECOVERY一次还原日志
5,恢复数据库到某个时间点(RESTORE DATABASE dbname WITH STOPAT='??????',RECOVERY)


------解决方案--------------------
首先楼主的措施是正确的,不出意外的话是可以恢复数据的
如果你一定要看你的操作是否在某个备份中的话,你可以试试查看备份文件的LSN