由于系统崩溃,我电脑里的数据库日志文件忘记备份了,只备份了mdf ,现在重装了新系统。
想恢复数据库,结果恢复不了。我用的是SQLSERVER2005 请问怎么才能恢复数据库里的数据呢??

解决方案 »

  1.   

    先直接附加试试 不行的话 试试下面的
    http://hi.baidu.com/yimshan/blog/item/b4a315f3b5f271ca0a46e083.html
      

  2.   

    MSSQL2005的数据库`我就是备份少了一个ldf``只备份了mdf~ 
    重装系统和MSSQL2005之后,现在用mdf恢复不了数据库`怎么办啊?
    错误:1813网上只能找到2K的恢复教程,没找到2005的``应该怎么恢复啊??
      

  3.   

    我试了都行呀,呵呵,直接用MDF文件附加,不用LDF的
      

  4.   

    你那是没装系统前提下做的 重装系统之后LDF文件不见了。。
      

  5.   

    按道理没有LDF完全可以恢复,数据库会自己重建日志文件的,经常这样恢复的。
      

  6.   

    我刚也是想到这样 没LDF也可以恢复,但是结果不行啊!! 
      

  7.   

    "附加数据库"时提示无"*.ldf"文件,用同数据库名的*.ldf文件代替也不行。解决办法如下:Use   Master   
      Go   
      sp_configure   'allow   updates',   1   
      reconfigure   with   override   
      Go   
      然后   
      update   sysdatabases   set   status   =   32768   where   name   =   '<db_name>'   
      现在,重新建立一个log文件(我试过但无法成功,不知高手有何方法)。   
        
      先把SQL   Server   重新启动一下,然后检查你的数据库吧。   
      先设置成单用户模式,然后做dbcc   
      sp_dboption   '<db_name>',   'single   user',   'true'   
      DBCC   CHECKDB('<db_name>')   
      把数据库状态改回去了,记得别忘了把系统表的修改选项关掉。   
      update   sysdatabases   set   status   =   28   where   name   =   '<db_name>'   --当然你的数据库状态可能不是这个,自己改为合适的值吧。也可以用sp_resetstatus   
      go   
      sp_configure   'allow   updates',   0   
      reconfigure   with   override   
        
      如果无法成功创建日志文件,也没有关系,使用以上方法后,看是否已恢复数据库,应该能成功的。关闭SQL   SERVER,然后重启,观察一下数据库状态是否正常,如果正常,一切万事大吉,如果数据库处于置疑状态。重新上面的步骤,注意将数据库名称更改为其他名字,恢复后不要关闭SQL   SERVER,然后新建一个与原来数据库名称一样的数据库,然后耐心的将恢复得到的数据库中所有的表、视图、函数、存储过程(不包括系统内部的),复制到新建的数据库,要有耐心,特别要注意有相关性的表、视图、函数、存储过程等的复制先后次序,否则会复制失败的。   
          上面的方法是万不得已才使用的。我在恢复公司内的数据库时,最后就是采用这种方法才最后成功的。希望对你有所帮助。  我在上面已经讲过,如果重启后数据库状态为"置疑",可以重新运用你上面恢复数据库的办法,要使用其他的数据库名称,使数据库处于紧急处理状态(32768   )。然后,不要重启,新建一个数据库,名称是你原来的数据库名(linjudy)。最后,通过导入数据(在新数据库上)或导出数据(在恢复的数据库上)功能,进行两个数据库的数据复制,可以一次进行多个数据和视图的导入或导出,但要注意相关联的表或视图导入或导出的先后次序,否则会出错的。如果不知道哪些表或视图有关联,可以一部分一部分的进行,如果出错就缩小进行的范围,要有耐心。导入或导出函数和存储过程时,要选择导入或导出方法的第三项,在下一步,特别要注意不要选择相关性,否则很容易导致错误,你也应一部分一部分的进行,不要一次全部完成。我想这样一定可以解决你的问题的,这是我的亲身体验。
       先新建了linjudy数据库/将sql停止后覆盖了mdf文件并删除了ldf文件再使用如下方法操作   
      Use   Master   
      Go   
      sp_configure   'allow   updates',   1   
      reconfigure   with   override   
      Go   
        
      update   sysdatabases   set   status   =   32768   where   name   =   'linjudy'   
        
      重启sql后在运行,发现linjudy数据库可以正常打开了,立即查看原有的数据有了,在新建了数据库导出所有表,成功。   
      重启sql后linjudy库变为"紧急状态"但可以通过“导出数据”导出数据至其它数据库。   
        
      至此数据恢复成功,数据是否可以用我没有试。   
      以后大家恢复时可以用"天马行空"网友的方法,并且在重启sql时可以看一下恢复库的状态如果是"紧急状态"可以通过导出数据导出至其它数据库。 转载自
    http://blog.csdn.net/frankluwei/archive/2009/09/21/4576750.aspx
      

  8.   

    QQ:1209667578 
    SQLServer数据库修复和优化
      

  9.   

    右键附加的时候
    将数据库细节里面的log文件提示删除掉就可以了
    你只提供mdf的时候,下面会显示两个文件选项的