SQL2000数据库,我在2月6号的时候,删除一个表里记录,因为那些都是结过帐的!日志没有删除过,LogExplorer 只看到4-30号到5-18号的操作日志,这个是为什么?我1月份记录能找回来嘛?多少分无所谓!请高手帮忙,指点一条明路!

解决方案 »

  1.   

    LogExplorer 读的是SQL Server的日志,没有1月的日志信息,说明sql server log里面已经没有1月的日志信息了。如果没有以前的数据库备份,不可能恢复。sql server的日志,如果你做过日志备份或者数据库全备份,老的数据库日志就被会被截断,然后该日志里面的空间就会被重用了。那样的话,1月的数据就会不存在了。但是你可以利用tran log backup, 或者database backup把被删除的数据还原出来。
      

  2.   

    使用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的代码放到查询分析器里执行.就可以恢复数据.
    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中修改的日志记录,所以无法做恢复.