我机子上装了一个数据库,有一个表里的数据丢失了,另外一台机子上有以前的数据库备份,我原计划是只把这一个表的数据覆盖掉的,可是由于我的粗心,把整个数据库的数据都覆盖了,有什么方法能恢复么?请高人指点!!在线等!

解决方案 »

  1.   

    一定要做好备份啊,我有类似经历,服务器raid5硬盘 出错,数据没了。。
      

  2.   

    数据库版本是05前的可以通过log   explorer   的软件生成   undo   来恢复,05和08版的不知道什么方法
      

  3.   

    用Log   Explorer恢复。 
    Log   Explorer http://www.ttdown.com/SoftDown.asp?ID=14562 
    http://www.yiii.net/app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471 
    解压缩密码   www.heibai.net http://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   .... 
    系统中有一个数据库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 ' 新的问题开新帖问吧
      

  4.   

    使用导出向导时,注意修改选项中索引为true,因为默认是不导索引的
      

  5.   

    原库备份还原覆盖,要恢复原MDF文件很困难。