不使用事务在SQL Server表中回滚更新的数据

3

我不小心更新了SQL Server表的所有行。

由于这不是事务的一部分,我无法回滚,那么我该怎么恢复呢?


在Oracle中,我们会使用“闪回”...您可以考虑恢复数据库吗?手册应该会有帮助。 - J. Chomel
希望您已经频繁地进行了事务日志备份。根据您的SQL Server版本,要恢复到某个时间点,您需要按照这里的说明操作:https://technet.microsoft.com/zh-cn/library/ms190982(v=sql.105).aspx - db_brad
1个回答

1
停止向数据库添加新的更新。
将完整备份保存到新的备份文件中。
现在进行交易备份到一个新文件。
现在进行时点还原。选择事故发生前的时间。
您将失去此后发生的所有其他事件。
如果这是一个生产数据库,则应对新数据库进行时点还原,然后使用更新语句来更正不正确的数据。
祝你好运,保持冷静。

1
请注意,时间点恢复仅适用于数据库的恢复模式设置为“FULL”的情况。当然,根据您拥有的备份类型以及是否可以确定更新运行的时间,还可以选择恢复其他类型的备份。 - Bridge

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接