SQL code

使用Log Explorer查看和恢复数据 


   
   Log
   
    Explorer 
   
   4.1
   
   .可用于SQL Server2005的日志查看工具

下载地址:
http:
   
   //
   
   download.csdn.net
   
   /
   
   source
   
   /
   
   620271
   
   

使用方法:

打开Log Explorer 
   
   ->
   
    Attach 
   
   Log
   
    
   
   File
   
    
   
   ->
   
    选择SQL Server服务器和登陆方式 
   
   ->
   
    Connect 
   
   ->
   
    
在Database Name中选择数据库 
   
   ->
   
    Attach
   
   ->
   
    左面对话框中Browse
   
   ->
   
    
   
   View
   
    
   
   Log
   
   ->
   
    就可以看到log记录了 

想恢复的话: 右键Log记录 Undo Transation
   
   ->
   
    选择保存文件名和路径
   
   ->
   
    然后打开该文件到查询分析器里执行 
T
   
   -
   
   sql代码就可以了 

例如 如果Log是delete 
   
   table
   
    
   
   where
   
    ...的话,生成的文件代码就是insert 
   
   table
   
    .... 
     然后将此insert table的代码放到查询分析器里执行.就可以恢复数据.



   
   --
   
   --------------------------------------------------------------------
   
   
--
   
   如何恢复被delete/update的数据
   
   
--
   
   --------------------------------------------------------------------  
   
   

   
   1
   
    连接到被删除数据库的Db
打开log explorer  选择  "
   
   file
   
   "
   
   ->
   
   "attach 
   
   log
   
    
   
   file
   
   "
   
   ->
   
   选择服务器和登陆方式
   
   ->
   
   "connect"
   
   ->
   
   选择"数据库"
   
   ->
   
   "attach"

   
   2
   
      查看日志
 在左面操作项目的对话框中选择"
   
   browse
   
   "项目
   
   ->
   
   "
   
   view
   
    
   
   log
   
   "
   
   ->
   
   就可以看到当前的Log记录了

   
   3
   
      恢复数据
     右键某一条log记录,选择"undo transation"
   
   ->
   
   "选择保存文件名和路径"
   
   ->
   
   然后打开该文件到查询分析器里执行
T
   
   -
   
   sql代码就可以了
例如: 如果log是delete 
   
   table
   
    
   
   where
   
    ...的话,生成的文件代码就是insert 
   
   table
   
    ....





   
   --
   
   --------------------------------------------------------------------
   
   
--
   
   Log Explorer恢复被drop table和truncate table后的数据
   
   
--
   
   --------------------------------------------------------------------
   
   

   
   1
   
     连接到被删除数据库的Db
     操作同上

   
   2
   
      恢复方法
    
   
   1
   
   )  选择"salvaage dropped
   
   /
   
   truncate
   
   "菜单,在右边的对话框中选择表名,和droped
   
   /
   
   trucated的日期,
    
   
   File
   
    Name中选择生成insert语句脚步的存放位置,condition选择是droped还是truncated,
    最后点击"
   
   create
   
   " 就会生成insert语句,把生成的语句到查询分析器里面执行一下就可以了
    
   
   2
   
   ) 选择"ViewDDL Commands"菜单
   
   ->
   
   选"
   
   truncate
   
    
   
   table
   
   " 操作项
   
   ->
   
   点击"Salvage"
   
   ->
   
   生成语句
   
   ->
   
   查询分析器里执行



   
   --
   
   --------------------------------------------------------------------
   
   
--
   
   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中修改的日志记录,所以无法做恢复.

   
   4
   
   )  不要用SQL的备份功能备份,搞不好你的日志就破坏了.

正确的备份方法是:
停止SQL服务,复制数据文件及日志文件进行文件备份.

然后启动SQL服务,用log explorer恢复数据