Log Explorer for SQL Server v3.3 特别版
www.chinaz.com
Log Explorer is the leading transaction analysis and data recovery solution for Microsoft SQL Server. By providing unprecedented access to the SQL Server transaction log, Log Explorer gives you the ability to understand and solve elusive database problems by browsing the transaction log, exporting data to create reports, and selectively recovering modified, deleted, dropped, or truncated data.
打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了
想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行
T-sql代码就可以例如 如果log是delete table where ...的话,生成的文件代码就是insert table ....右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行T-sql代码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中修改的日志记录,所以无法做恢复.

解决方案 »

  1.   

    系统中有一个数据库DB1,系统正在使用的过程中,不小心删除了某表T1的数据
    现我可以按照用完整备份文件加日志备份时间点TIME1恢复的方法来恢复该数据库但问题出在该数据库一直还必须在使用中,所以除了你删除了数据的TA表外,其它的
    表的数据你不能只是恢复到错误时间点TIME1处,因为,TIME1以后也有数据变化解决这个问题有两个方法
    1:用LOG EXEPLORE 可以轻松搞定2:先建立一个数据库DB2,将完整备份文件恢复到DB2中,再用DB2中的T1数据来更新
       DB1中的T1数据即可.
    --查看备份信息
    RESTORE FILELISTONLY FROM DISK ='C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup'--还原旧的备份 
    RESTORE DATABASE db2 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup' with replace,norecovery,
    move 'db1_Data' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\db2_data.mdf',
     move 'db1_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\db2_log.ldf' --还原数据日志到时间点
    restore log  db2  from disk='db_log_backup'  with stopat='2003/4/22 9:57'
      

  2.   

    怎么?
    这个应该可以解决啊Log Explorerhttp://www.ttdown.com/SoftDown.asp?ID=14562
    http://www.yiii.net/app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471
    解压缩密码 www.heibai.nethttp://www.ttdown.com/softview_8647.htm
    注册机产生的是注册码,是两个用解压缩密码解开后,压缩包里也有一个注册机的打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
    选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了
    想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行
    T-sql代码就可以了例如 如果log是delete table where ...的话,生成的文件代码就是insert table ....
      

  3.   

    一Easyrecovery professional 6.0 能否恢复服务器上误删除的文件?
       当然可以,我用过它。附加正常。普通PC。“此文件不是有效的数据库文件”--就不知道了,也许你恢复错了。Log Explorer可以恢复删除的数据库???我没用过,第一次听说。
      

  4.   

    Easyrecovery professional 6.0  
    试试:只查找MDF文件,把它恢复过来,路径选其它相同格式的硬盘分区。
      

  5.   

    怎么有人连贴子都不看明白,就往上贴也不知道是那抄来的答案,人家是数据库文件被删除 了,不是数据库中的记录的删除了,logexplorer   有用么?
    真不知道那么多三角是怎么来的
      

  6.   

    试试用这个工具恢复数据文件
                 
              ★ FinalData NT Standard 1.5FinalData 可以回收在 Windows NT/2000/XP 中被误删的文件。
    它还可以恢复你的数据,主引导记录(MBR),引导扇区,FAT。
    它能找回其他类似工具所找不到的,安全,快速,专业!汉化方法:解压汉化后运行 Setup.exe 安装文件,选择相应目录安装。注册码: NTP30028-0217-032664446762
    Win9x/me: STD18121-4412-141872101238
    WinNt/2000<1.0>: NTE92029-0278-065788817286
    winnt/2000<1.5>: NTP30028-0217-032664446762
    名称和公司随便填。
    注意:该版本只能用于 Windows NT/2000/XP!             GOOD LUCK!!!
                 
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         本站★虚幻时空★正式承接各类商业汉化
          有意者请来信详谈:[email protected]
           
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  吕达嵘 ([email protected])
                虚幻时空:http://unreally.yeah.net 
              汉化新世纪:http://hanhua.on.net.cn 成员网站
                                                           
                                                2002.5.7
      

  7.   

    二从普通PC上恢复的文件如何附加? 首先要确定SQL的版本要一致.如果上面的要求已经满足.新建一个同名数据库.停止SQL服务器.用你恢复过来的数据文件替换新建数据库的数据文件(日志文件也最好一齐替换)再启动SQL这时,应该数据库可以用了.
      

  8.   

    如果数据库不能用(置疑),参考下面的方法解决:/*--重置置疑状态
    1.系统方法:
    如果 sql server 因为磁盘驱动器不再有可用空间,而不能完成数据库的恢复,
    那么 microsoft&reg; sql server&#8482; 2000 会返回错误 1105 
    并且将 sysdatabases 中的 status 列设为置疑。按下面的步骤解决这个问题: 执行 sp_resetstatus。
    语法为:
    sp_resetstatus '数据库名'
    用 alter database 向数据库添加一个数据文件或日志文件。停止并重新启动 sql server。 用新的数据文件或日志文件所提供的额外空间,sql server 应该能完成数据库的恢复。释放磁盘空间并且重新运行恢复操作。 sp_resetstatus 关闭数据库的置疑标志,但是原封不动地保持数据库的其它选项。
    --*/--2.手工重置置疑状态
    use master 
    go
    sp_configure 'allow updates',1 reconfigure with override 
    go
    declare @dbname varchar(30)
    set @dbname='你要处理的数据库名'if @@trancount > 0
    print '正在进行事务处理,操作不能进行'
    else if suser_id()!=1
    print '你不是系统管理员(sa),不能进行此操作'
    else if not exists(select 1 from master..sysdatabases where name=@dbname)
    print '你要操作的数据库不存在'
    else if not exists(select 1 from master..sysdatabases where name= @dbname and status & 256 = 256)
    print '你的数据库没有被置疑'
    else
    begin
    begin tran
    update master..sysdatabases set status = status ^ 256 where name = @dbname
    if @@error != 0 or @@rowcount != 1
    rollback tran
    else 
    begin
    commit tran
    print '操作成功,请重新启动SQL'
    end
    end
    go 
    sp_configure 'allow updates', 1 reconfigure with override 
    go 
      

  9.   

    终于搞定了现在结帖,先说说我用easyrecovery 的一些问题。
    我在服务器上用easyrecovery扫描磁盘时经常意外中止,可能是软件的问题如果有朋友碰到这种情况多试几次就没问题了(NTFS下)。
    谢谢csdn的朋友,谢谢teaism!