查看SQL Server 2008中的所有事务日志

时间:2009-07-30 23:52:20

标签: sql database-restore database-backups transaction-log

问题在于:

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件物品,但必须有数千件。

3 个答案:

答案 0 :(得分:4)

要重播日志,您始终从完整日志开始,应用差异,然后应用日志备份。时间线始终从完整备份开始向前,从不向后。因此,要在t0之后进入状态(即恢复已删除的记录),首先要在 t0之前进行完整备份,然后在t0处停止应用日志备份。

答案 1 :(得分:4)

虽然不是理想的解决方案,但您可以尝试将数据库备份还原到单独的数据库中,比较数据库并手动进行所需的更改。

另一种方法是使用第三方交易日志阅读器,例如ApexSQL Log

答案 2 :(得分:3)

兰斯,

事务日志不是为查看事务而设计的。这不是那种日志。另外,当您执行事务日志备份时,会截断日志文件,因为信息已备份到文件中。

另外值得一提的是,当您将数据库放入完全恢复模型时,它实际上将保持简单模式,直到您执行完整数据库备份。因此,如果在t0之前没有进行备份,那么您将无法返回该状态。

罗布