回滚错误执行的SQL查询

时间:2012-11-02 02:49:50

标签: sql sql-server sql-server-2008 tsql rollback

我认为问题就是这样, SQL Server管理工作室中已经错误地执行了以下更新查询

update kms_students set student_campus='4' where student_campus='KL'

受影响的行超过1000,我无法识别它,因为该表已经有许多前一行的student_campus='4'

是否可以回滚?

2 个答案:

答案 0 :(得分:3)

我相信ApexSQL应该做到这一点。

ApexSQL的工作原理是分析物理事务日志,它基本上具有恢复特定事务和数据的所有必要信息,但MS不提供管理它的现成工具,除了恢复备份然后手动使用RESTORE LOGS

将交易日志恢复到特定日期

答案 1 :(得分:0)

  1. 备份。大多数托管公司保留一个,尽快给每个人打电话。
  2. 您自己的备份。即使他们年纪大了也会有所帮助。
  3. 保留大量备份,绝不会尝试对生产环境进行查询。从来没有。(打赌你学到了,对吧?)
  4. 为了使它更容易一些,您可以尝试将备份数据库联机并执行一些PHP / Python /任何内容,以便比较备份中的每条记录,并在需要时将当前数据库从'4'更改为'KL' 。

    可能不完美,但可以帮助您避免几天的工作。