Sql server 在sql server 2012中撤消更新查询

Sql server 在sql server 2012中撤消更新查询,sql-server,Sql Server,我是SQL新手,所以作为一个新手,我犯了一个错误。 我执行了不带where子句的update查询,现在它更新了所有行,而不是只更新一行。现在我想撤销它。我用谷歌搜索了一下,可以选择运行回滚。但我的问题是 更新tblname设置模式=“” 所以我认为回滚将不起作用。此外,我没有配置备份,因此也无法还原它。我尝试使用SQLApexlog。但是没有成功 那么有没有办法把所有的记录都拿回来。没有。完成了。把它当作一个教训。错误: 对ISNT生产数据库执行手动查询。总是对副本这样做,把它们写出来 没有备

我是SQL新手,所以作为一个新手,我犯了一个错误。 我执行了不带where子句的update查询,现在它更新了所有行,而不是只更新一行。现在我想撤销它。我用谷歌搜索了一下,可以选择运行回滚。但我的问题是

更新tblname设置模式=“”

所以我认为回滚将不起作用。此外,我没有配置备份,因此也无法还原它。我尝试使用SQLApexlog。但是没有成功


那么有没有办法把所有的记录都拿回来。

没有。完成了。把它当作一个教训。错误:

  • 对ISNT生产数据库执行手动查询。总是对副本这样做,把它们写出来
  • 没有备份

否。完成。把它当作一个教训。错误:

  • 对ISNT生产数据库执行手动查询。总是对副本这样做,把它们写出来
  • 没有备份

    • 作为一名新手,这可能发生在任何人身上。最重要的是,你不应该让它再次发生。有一个名为ApexSQL的工具可以回滚事务。下载它。

      作为一个新手,它可能发生在任何人身上。最重要的是,你不应该让它再次发生。有一个名为ApexSQL的工具可以回滚事务。下载它。

      ApexSQL日志可以帮助您进行意外更新。请参见此处的更多信息:

      但是,请记住,当数据库处于完全恢复模式并且进行了完全数据库备份时,它会提供最佳结果

      但是有5000多条记录被更新,所以我必须选择所有5000多条记录来撤销

      是的,但这很容易选择。要恢复所有更新的记录,首先只选择意外更新数据的表(或服务器进程ID,如果可以确定的话)。确保未选择所有其他表

      在操作选项卡中,选择仅更新行

      最后,在主网格中,使用关联菜单选择所有行(在网格中的任意位置单击鼠标右键)。实际上,创建撤消脚本甚至不必选择网格中的行,只需单击菜单中的“创建撤消脚本”

      还有一种更快的方法可以为所有记录创建撤销脚本。使用“将结果导出到文件”选项,而不是在网格中打开结果


      免责声明:我作为支持工程师为ApexSQL工作

      ApexSQL日志可以帮助意外更新。请参见此处的更多信息:

      但是,请记住,当数据库处于完全恢复模式并且进行了完全数据库备份时,它会提供最佳结果

      但是有5000多条记录被更新,所以我必须选择所有5000多条记录来撤销

      是的,但这很容易选择。要恢复所有更新的记录,首先只选择意外更新数据的表(或服务器进程ID,如果可以确定的话)。确保未选择所有其他表

      在操作选项卡中,选择仅更新行

      最后,在主网格中,使用关联菜单选择所有行(在网格中的任意位置单击鼠标右键)。实际上,创建撤消脚本甚至不必选择网格中的行,只需单击菜单中的“创建撤消脚本”

      还有一种更快的方法可以为所有记录创建撤销脚本。使用“将结果导出到文件”选项,而不是在网格中打开结果


      免责声明:我作为支持工程师为ApexSQL工作

      在执行更新或删除之前始终使用BEGIN TRANSACTION。然后查看结果,如果一切正常,请提交。在执行更新或删除之前,始终使用BEGIN TRANSACTION。然后看看结果,如果一切都好的话,那就是我正在尝试的。但有5000多条记录已更新,因此我必须选择所有5000多条记录以撤消。否,您可以使用日志文件选择特定的事务ID(更新操作),并还原该事务发生的所有更改。请告诉我要去哪里,单击什么。我还下载了试用版,它说它只能执行每10行。这就是我正在尝试的。但有5000多条记录已更新,因此我必须选择所有5000多条记录以撤消。否,您可以使用日志文件选择特定的事务ID(更新操作),并还原该事务发生的所有更改。请告诉我要去哪里,单击什么。我还下载了试用版,它说它只能执行每10行。