在Query Analyzer中: 
首先执行: 
EXEC sp_detach_db 'dbname', 'true' --将数据库分离
然后将你的数据库文件夹---data目录中的dbname_log.ldf文件移走或刪除 
最后: 
EXEC sp_attach_single_file_db 'dbname','d:\mssql7\data\dbname.mdf'
--以单文件形式恢复数据库
这样搞不定吗?

解决方案 »

  1.   

    同意 supsuccess(口气不小)的方法use master
    go
    EXEC sp_detach_db 'dbname', 'true' --将数据库分离,这一步如果不做,就很难恢复。goEXEC sp_attach_single_file_db 'dbname','d:\mssql7\data\dbname.mdf'
    go
      

  2.   

    试过,出现错误为:
      未能打开新数据库'dbname',CREATE DATABASE 将终止。
      设备激活错误,物理文件名'物理文件名'可能有误。注:'物理文件名'是原系统的物理地址,我将该MDF文件拷贝到另外一台服务器上进行恢复,不成功!
      

  3.   

    我的天,你是照搬不误啊!
    肥dbname换成你的数据库名
      

  4.   

    http://www.csdn.net/expert/topic/975/975091.xml?temp=.9794275
      

  5.   

    up 能否实现,数据库挂上以后,如何重新生成 LDF 文件
      

  6.   

    If you do not want the log file SQL will automaticall create one for you when you attach a database in the same log as the mdf file.Try this,sp_attach_db test, N'C:\Program files\microsoft sql server\mssql\data\test_data.mdf'.You still  will get an activation error but the database can be used with the new log file created.Hope this helps
    :-)
      

  7.   

    大海兄,你说的不错,我已经试了NN次,得出结论:只有经过分离后的MDF才能单独恢复。
       我目前的数据库是由于SQL2000下日志文件未定时做trucate(或全量备份)导致日志文件膨胀而SUSPECT,当时将两个备份后就直接删除了数据库,未做分离。因此,现在作恢复时就总是出现日志文件可能有误的错误提示。
        不知还有没有其他方法?
        
      

  8.   

    如果不先分离,MDF文件有时候能单独恢复数据库,有时候不能,我建议你最好分离后再删除日志文件,否则很有可能不能附加上数据库
      

  9.   

    作过实验,不分离绝对不行。
        前面的MDF已恢复。我的方法是:先建一假的同名数据库,SHUTDOWN数据库,将原MDF覆盖,重启,对被SUSPECT的数据库做分离,然后EXEC sp_attach_single_file_db 'dbname','d:\mssql7\data\dbname.mdf'
    系统提示原LOG文件损坏,重建新LOG。即可恢复。
        谢谢大家,散分!