|
又一方式,偶测试过的:
先建一个同名的数据库,然后把sql停止,再把.mdf文件复制到data目录,同时删除.ldf文件,再远行sql,这样做完后,数据库处理“置疑”状态,然后用下面的语句修复,如果问题不大的话,应该是可以解决的。
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
update master..sysDatabases set status = 32768 where name = '你的数据库名'
DBCC REBUILD_LOG ('你的数据库名', '日志文件路径' )
update sysDatabases set status = 0 where name = '你的数据库名'
restore Database 你的数据库名 WITH RECOVERY
sp_dboption '你的数据库名', 'single user', 'true'
DBCC CHECKDB ('你的数据库名',REPAIR_FAST) with no_infomsgs
sp_dboption '你的数据库名', 'single user', 'false'
每一句都单独执行,如果dbcc有问题,还要用其它dbcc语句修复。
DBCC CHECKDB('你的数据库名',REPAIR_ALLOW_DATA_LOSS)
--DBCC CHECKDB('你的数据库名',REPAIR_REBUILD)
--DBCC CHECKDB('你的数据库名') with PHYSICAL_ONLY |
|