日期:2014-05-17  浏览次数:21829 次

SQLServer2008如何撤销先前一条Update操作,万分紧急!
SQLServer2008如何撤销先前一条Update操作,这条update的语句中如下:
update 表名 set 字段=XX,没有用到事务,因为数据发现更新错误,所以要撤销操作。
注释:已经不知道更新之前的操作。分数不是问题

------解决方案--------------------
引用:
SQLServer2008如何撤销先前一条Update操作,这条update的语句中如下:
update 表名 set 字段=XX,没有用到事务,因为数据发现更新错误,所以要撤销操作。
注释:已经不知道更新之前的操作。分数不是问题
查看日志文件,恢复数据。
------解决方案--------------------
对,查看日志文件,看能否rollback
------解决方案--------------------
1.有備份數據庫可用就用備份的
2.通過日誌恢復
------解决方案--------------------
反向语句能写当然最好,update语句很多没有反向语句的

用日志查看的软件吧,好像Log Explorer可以,不知道是否支持SQL2008
------解决方案--------------------
有备份不,有备份用备份还原.还原前,先把事务日志备份出来.再用备份,加事务日志备份还原到指定的时间点(更新数据前)
Log Explorer是不运动SQL2008的
------解决方案--------------------
前提是楼主的数据库是完整恢复模式(Full Recovery)且未做截断.
用Log Explorer打开数据库日志文件(.LDF),找到刚才的Update部分,产生反向的SQL脚本..
------解决方案--------------------
有备份的话就直接还原

如果有日志备份 就可以通过日志来还原

如果都没有 帮哭 因为2008用不了log explore
------解决方案--------------------
引用:
同样帮哭
自从上次被经理狠K之后
在update语句执行之前
都会运行一个Select * into tb_bak from tb这样的语句
然后再Update的时候就不慌了


楼上几位都总结清楚了,楼主按方法做,没办法我也帮哭了。哎!
------解决方案--------------------
http://topic.csdn.net/u/20110519/17/96b0a8b2-c46b-4ac1-8570-99a23e0b8b15.html
------解决方案--------------------
引用:
同样帮哭
自从上次被经理狠K之后
在update语句执行之前
都会运行一个Select * into tb_bak from tb这样的语句
然后再Update的时候就不慌了

select * into .. 遇到大表咋办?
建议用