如何从sql server表中查看已删除的记录?

时间:2010-11-04 21:13:33

标签: sql-server sql-server-2008

我需要从sql server表中查看已删除的记录(行),实际上我正在使用此命令

DBCC LOG(MyDatabase,-1)

查看日志,但我不理解输出格式。

存在任何免费工具来翻译Sql server数据库的日志文件或任何文档如何解释命令DBCC LOG

所显示的信息

我正在使用SQL Server 2008。

更新

我的目标是不恢复已删除的记录,我只是想看到已删除的记录或执行的删除命令。

提前致谢。

3 个答案:

答案 0 :(得分:5)

您从DBCC LOG获取的数据是HEX格式,您需要转换它们才能变得可读。

您也可以尝试使用fn_dblog函数来读取事务日志,但是您将得到几乎相同的需要解码的结果。

还有第三方工具ApexSQL日志可以读取事务日志并显示所有已记录的命令,但它带有价格。

答案 1 :(得分:4)

虽然文档很少,但它可以作为学习练习来完成。我之前已经解码了删除的示例,以及日志中的更新和一些其他项目。

http://sqlfascination.com/2010/02/03/how-do-you-decode-a-simple-entry-in-the-transaction-log-part-1/

考虑到解释的长度,不适合在此处重新发布。

答案 2 :(得分:2)

这是一个分步指南,提供了所有SQL代码,用于使用未记录的SQL函数读取数据库联机事务日志fn_dblog

How to recover deleted data from SQL Server