update之前是否有做完全备份及日志备份?

解决方案 »

  1.   

    用第三方工具   
        
      Log   Explorer   for   SQL   Server   v4.0.2   
      http://js.fixdown.com/soft/8324.htm   
        
      注册机产生的是注册码,是两个   
        
      用解压缩密码解开后,压缩包里也有一个注册机的   
        
      打开log   explorer   file=>attach   log   file->选择服务器和登陆方式->connect->   
      选择数据库->attach->左面对话框中browse->view   log->就可以看到log记录了   
      点击“View   DDL   Commands”里面就有很多drop   table   命令   
      点击下面的“undo”按钮是生成表结构的语句(create   table   ....)   
      点击下面的“Salvage”按钮是生成插入语句的(insert   into   ...values....)   
      (以上lynx1111提供)   
        
      想恢复的话:   右键log记录   undo   transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行   
      T-sql代码就可以了   
        
      例如   如果log是delete   table   where   ...的话,生成的文件代码就是insert   table   ....   
        
        
      使用经验总结帖:   
      http://community.csdn.net/Expert/topic/2954/2954818.xml?temp=.9148676   
        
        
        
      log   explorer使用的几个问题   
        
      1)对数据库做了完全   差异   和日志备份   
      备份时选用了删除事务日志中不活动的条目   
      再用Log   explorer打试图看日志时   
      提示No   log   recorders   found   that   match   the   filter,would   you   like   to   view   unfiltered   data   
      选择yes   就看不到刚才的记录了   
        
        
      如果不选用了删除事务日志中不活动的条目   
      再用Log   explorer打试图看日志时,就能看到原来的日志   
        
      2)修改了其中一个表中的部分数据,此时用Log   explorer看日志,可以作日志恢复   
        
      3)然后恢复备份,(注意:恢复是断开log   explorer与数据库的连接,或连接到其他数据上,   
      否则会出现数据库正在使用无法恢复)   
      恢复完后,再打开log   explorer   提示No   log   recorders   found   that   match   the   filter,would   you   like   to   view   unfiltered   data   
      选择yes   就看不到刚才在2中修改的日志记录,所以无法做恢复.   
        
        
      3)   
      不要用SQL的备份功能备份,搞不好你的日志就破坏了.   
        
      正确的备份方法是:   
      停止SQL服务,复制数据文件及日志文件进行文件备份.   
        
      然后启动SQL服务,用log   explorer恢复数据   
        
        
        
        
      这个软件必须安装在要恢复数据的SQL服务器上(至少也得在服务器上安装该软件的客户端)   
        
        
      --数据库恢复   
        
      LOG   EXPLORER是根据日志恢复数据时使用的工具,如果没有了日志文件,则无法将数据恢复到当前时间点。   
      另外,如果在最近一次备份操作之后,又进行了截断日志的操作,则也无法恢复完整的数据。   
        
      
      

  2.   

    使用logexplorer ,找到你刚才的操作,然后undo