问题在于:
t0: Insert is made into my database
t1: Delete is executed
t2: Full backup is made
t3: Transaction log backup is made
如何在t3(现在是)之后恢复已删除的记录?我希望数据库处于t0和t1之间的状态。日志级别为Full。
编辑:我已经运行了DBCC LOG(DB-Name,3),但日志似乎被截断了。只有10件物品,但必须有数千件。
答案 0 :(得分:4)
要重播日志,您始终从完整日志开始,应用差异,然后应用日志备份。时间线始终从完整备份开始向前,从不向后。因此,要在t0之后进入状态(即恢复已删除的记录),首先要在 t0之前进行完整备份,然后在t0处停止应用日志备份。
答案 1 :(得分:4)
虽然不是理想的解决方案,但您可以尝试将数据库备份还原到单独的数据库中,比较数据库并手动进行所需的更改。
另一种方法是使用第三方交易日志阅读器,例如ApexSQL Log。
答案 2 :(得分:3)
兰斯,
事务日志不是为查看事务而设计的。这不是那种日志。另外,当您执行事务日志备份时,会截断日志文件,因为信息已备份到文件中。
另外值得一提的是,当您将数据库放入完全恢复模型时,它实际上将保持简单模式,直到您执行完整数据库备份。因此,如果在t0之前没有进行备份,那么您将无法返回该状态。
罗布