【发布时间】:2015-12-30 13:21:51
【问题描述】:
我不小心执行了查询:
UPDATE TableName
SET Name='Ram'
如何撤消此更改?
【问题讨论】:
-
问题是什么?
-
查询是否在事务中?如果没有,那么你不能!
-
否;你不能 - 请参阅stackoverflow.com/questions/14472785/…(除非你使用了交易)
-
如果上一个查询不在打开的事务中,则无法回滚。因此,在这种情况下,您只能从备份中恢复数据库。
-
坏消息...正如上面提到的其他人,SQL Server 具有自动提交功能,默认情况下使所有 DML 语句具体化,而无需运行 COMMIT;命令。您需要做的是给您的 DBA 打电话,看看您可以使用哪些表恢复选项。大多数数据库都会保存隔夜快照,因此如果您的查询具有破坏性,DBA 可以回滚整个表。
标签: sql sql-server sql-server-2014