如何回滚SQL Server 2014中的UPDATE查询?

问题描述:

我知道这个问题被问过很多次,SQL Server的早期版本,但如果这是在SQL Server中变得更容易我不知道2014年如何回滚SQL Server 2014中的UPDATE查询?

我熟悉这里显示

其他版本的技术

How can I rollback an UPDATE query in SQL server 2005?

Undo table updates in SQL Server 2008

所以问题是:有没有什么让回滚和UPDATE查询在SQL Server 2014是不是在以前的版本吗?

我说的承诺命令 - 我知道你可以回滚,如果查询是内部交易。

我们已制订了完整,差异和事务日志备份,但是我们很想避免恢复方案与还原备份到辅助数据库和这样的......

+0

您可以查看使用异步触发器来编写更新日志。这在2014年并不是什么新鲜事,但可能会有所斩获。 –

从我所知道的这里没有什么新东西。 MS专注于SQL Server中的企业级功能(内存查询,更高的可用性等)。

据我知道你的选择撤消意外的更新是:

  • 第三方日志的读者,也耗资约$(我知道Apex LogQuest Toad,但有可能是别人太)
  • 恢复在另一个数据库中最新的备份,并检查数据库之间的差异
  • 花费大量时间尝试使用fn_dblog函数读取事务日志和所示here

什么都没有与SQL Server的新版本改变了:一提交的事务仍然被认为是永久的,所以回滚的唯一方法是恢复到先前的备份并应用事务日志到该点。

编辑补充...
有一个已经存在的SQL Server的几个版本一个其他的工具,这就是快照。可以将数据库恢复到之前的快照,例如SQL 2008的指令http://msdn.microsoft.com/en-us/library/ms189281(v=sql.105).aspx。但是,这不会取代您仍然需要保留的备份和事务日志。您还需要研究快照对性能的影响(如果有的话) - 我无法保证其可用性:您可能会发现它们在开发或测试环境中非常理想,但在生产环境中却并非如此。