【发布时间】:2010-11-04 21:13:33
【问题描述】:
我需要从 sql server 表中查看已删除的记录(行),实际上我正在使用这个命令
DBCC LOG(MyDatabase,-1)
查看日志,但我不明白输出格式。
是否有任何免费工具可以翻译 SQL 服务器数据库的日志文件或任何说明如何解释命令 DBCC LOG 显示的信息的文档?
我使用的是 SQL Server 2008。
更新
我的目的不是恢复已删除的记录,我只是想查看已删除的记录或执行的删除命令。
【问题讨论】:
-
我上次尝试时发现这样做特别困难。有几个第三方工具,但我没有发现它们太好。如果您有日志,您可以将它们恢复到您上次恢复到新数据库的备份副本吗?
-
我赞同 MrEdmundo 的经历。日志实际上并不打算用作备份或恢复数据的方式。它非常难以破译,而且我还没有找到任何可以很好地筛选它的工具。最好的办法是备份最后一个备份,恢复它,然后以这种方式找到差异(如果可能的话)。
-
作为一个经验教训,可以添加 morge 表,在对它们运行任何 dml 后保存记录。例如,创建一个触发器以在任何更新、删除完成之前捕获该行并将该行标记为已删除或使用 d 或 u dml_type_id 更新。
标签: sql-server sql-server-2008