【问题标题】:can i uncommit after commiting the transaction?提交交易后我可以取消提交吗?
【发布时间】:2015-03-23 11:03:59
【问题描述】:

我已经更新了一列的 100 行,其中包含不同的值,例如3,5,2,1,4,5 等,但我错误地更新了所有值 9 并提交了它。有什么方法可以将以前的值恢复到该列? 我正在使用 sql server r2

【问题讨论】:

  • 否,除非您记录所有修改。您可以在提交之前回滚,但一旦提交,值就会被覆盖。使用备份。
  • 是的,这是个好主意
  • 此外,如果该列包含计算字段的值,那么您也可以使用适当的查询重新更新这些列和行。

标签: sql sql-server sql-server-2008 sql-server-2008-r2


【解决方案1】:

SQL Server 不支持这一点,但在某些情况下可以通过读取事务日志来恢复数据。如果数据库处于完全恢复模式并且需要 ApexSQL Log 或 Log Rescue 等 3rd 方工具,则此方法有效。还有一种方法可以使用 DBCC LOG 命令读取 t-log,但是太难了。

check this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-25
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多