1

我错误地使用了更新命令来更新 Sql Server 2000 数据库中的整个表。我实际上的意思是只更新一行。现在所有 2000 行都包含更新。有没有办法回滚这个变化?

4

3 回答 3

2

除非您通过显式事务开始更新,否则不会。

但是,您也许可以使用Log Rescue。我不确定在这种情况下这是否可以帮助您。

更好的选择可能是将备份还原到新数据库并合并新旧表。

于 2008-11-12T08:37:47.400 回答
0

不,除非您有要恢复的备份。

我曾经犯过这样的错误。现在我用 BEGIN TRAN 开始每个手动操作。那时可能发生的最糟糕的情况是您忘记了 COMMIT TRAN 并在表上保持锁定。

于 2008-11-12T08:37:56.120 回答
0

如果您有可用的审核日志,请使用这些日志恢复到旧状态。否则,您将需要在该时间点恢复到最新备份。有一些产品可以让您检查日志并从中获取特定数据 Lumigent 的日志资源管理器 ( http://www.ssw.com.au/SSW/LogExplorer/ ) 就是其中之一,但它们往往价格昂贵如果您还没有它们,也不会立即为您提供帮助。

如果您没有当前备份和/或没有审计表,我会更新我的简历。

于 2008-11-12T15:59:38.100 回答