【问题标题】:Rolling back and update command in Sql Server 2000Sql Server 2000 中的回滚和更新命令
【发布时间】:2008-11-12 07:58:02
【问题描述】:

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

【问题讨论】:

    标签: sql sql-server sql-server-2000 rollback


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

        • @Xardas:我们在使用 lumigent 日志浏览器时遇到了一些严重的服务器终止问题,您可以尝试使用 apex sql log 代替
        猜你喜欢
        • 1970-01-01
        • 2010-12-26
        • 1970-01-01
        • 1970-01-01
        • 2011-06-08
        • 2021-04-03
        • 1970-01-01
        • 1970-01-01
        • 2011-11-20
        相关资源
        最近更新 更多