我可以恢复SQL Server 2008中一行单元格的先前值吗?

时间:2010-12-03 09:29:36

标签: sql sql-server-2005 sql-server-2008

我在单元格中输入错误并将其提交。后来我发现该条目实际上是假设要对下面的行单元格进行,但我不记得以前的值,并且想知道我还能在任何地方找到它进行修正。

3 个答案:

答案 0 :(得分:1)

备份是解决此问题的最佳方式,如果数据库处于正确的完全记录模式且事务仍在事务日志中,则可以手动将其拉出并解码,尽管这样做的努力是非微不足道的。

我已经写了一个这样做的例子来进行更新。 http://sqlfascination.com/2010/02/03/how-do-you-decode-a-simple-entry-in-the-transaction-log-part-1/

这实际上并不是您应该依赖的机制来恢复数据,合适的备份/交易甚至纸质备份会更好。

答案 1 :(得分:0)

我能想到的唯一方法是恢复备份并使用备份中该行的值。

注意:使用transaction log restore method保留对SQL log rescue的引用,以防有人使用SQL 2000遇到类似问题

答案 2 :(得分:0)

我可以添加所有这些goood答案,SQL Litespeed工具还有一个非常好的功能,称为日志阅读器,它可以帮助您从日志备份(使用Litespeed完成)甚至在线事务日志(未备份)中恢复过去的值。我认为Litespeed的试用版将让您查看您的在线交易日志文件 - 当然,如果您的数据库处于完全恢复模式。值得一试。