在Query Analyzer中:
首先执行:
EXEC sp_detach_db 'dbname', 'true' --将数据库分离
然后将你的数据库文件夹---data目录中的dbname_log.ldf文件移走或刪除
最后:
EXEC sp_attach_single_file_db 'dbname','d:\mssql7\data\dbname.mdf'
--以单文件形式恢复数据库
这样搞不定吗?
首先执行:
EXEC sp_detach_db 'dbname', 'true' --将数据库分离
然后将你的数据库文件夹---data目录中的dbname_log.ldf文件移走或刪除
最后:
EXEC sp_attach_single_file_db 'dbname','d:\mssql7\data\dbname.mdf'
--以单文件形式恢复数据库
这样搞不定吗?
go
EXEC sp_detach_db 'dbname', 'true' --将数据库分离,这一步如果不做,就很难恢复。goEXEC sp_attach_single_file_db 'dbname','d:\mssql7\data\dbname.mdf'
go
未能打开新数据库'dbname',CREATE DATABASE 将终止。
设备激活错误,物理文件名'物理文件名'可能有误。注:'物理文件名'是原系统的物理地址,我将该MDF文件拷贝到另外一台服务器上进行恢复,不成功!
肥dbname换成你的数据库名
:-)
我目前的数据库是由于SQL2000下日志文件未定时做trucate(或全量备份)导致日志文件膨胀而SUSPECT,当时将两个备份后就直接删除了数据库,未做分离。因此,现在作恢复时就总是出现日志文件可能有误的错误提示。
不知还有没有其他方法?
前面的MDF已恢复。我的方法是:先建一假的同名数据库,SHUTDOWN数据库,将原MDF覆盖,重启,对被SUSPECT的数据库做分离,然后EXEC sp_attach_single_file_db 'dbname','d:\mssql7\data\dbname.mdf'
系统提示原LOG文件损坏,重建新LOG。即可恢复。
谢谢大家,散分!