利用事务日志来恢复Update、Delete误操作引起的数据丢失 
可能有不少朋友遇到过这样的问题:
update或delete语句忘带了where子句,或where子句精度不够,执行之后造成了严重的后果,
这种情况的数据恢复只能利用事务日志的备份来进行,所以如果你的SQL没有进行相应的全库备份
或不能备份日志(truncate log on checkpoint选项为1),那么就无法进行数据的恢复了,或者
只能恢复到最近一次的备份的数据了。 以下简单说明恢复数据方法:
1,如果误操作之前存在一个全库备份(或已有多个差异备份或增量备份),首先要做的事就是进
进行一次日志备份(如果为了不让日志文件变大而置trunc. log on chkpt.选项为1那你就死翘了)
backup log dbName to disk='fileName'
2,恢复一个全库备份,注意需要使用with norecovery,如果还有其他差异或增量备份,则逐个恢

restore database dbName from disk='fileName' with norecovery
3,恢复最后一个日志备份即刚做的日志备份,指定恢复时间点到误操作之前的时刻
restore log dbName from disk='fileName'
with stopat='date_time'以上这些操作都可以在SQL SERVER企业管理器里完成,难度不大当然,如果误操作是一些不记日志的操作比如truncate table,select into等操作,那么是无法利
用上述方法来恢复数据的...
 

解决方案 »

  1.   

    看看这个:
    http://expert.csdn.net/Expert/topic/2343/2343412.xml?temp=.8866541
      

  2.   

    或者:
    将数据库的一些数据更新了,想要恢复
    http://expert.csdn.net/Expert/topic/2211/2211894.xml?temp=.399914
      

  3.   


    restore log dbName from disk='fileName'
    with stopat='date_time'
    用上面这句话进行数据库恢复时有一下错怎么解决啊
    服务器: 消息 3101,级别 16,状态 2,行 1
    因为数据库正在使用,所以未能获得对数据库的排它访问权。
    服务器: 消息 3013,级别 16,状态 1,行 1
    RESTORE LOG 操作异常终止。
      

  4.   

    根据其它字锻看看能不能在用update 更新过来
      

  5.   

    使用log Explore搞定了,谢谢大家,结贴