USE master
GO
--======================================================
--分离数据库,新建同名数据库,覆盖mdf主数据库文件
--======================================================
--设置为紧急模式
alter database Sfis_DW
set emergency
--设置为单用户模式
alter database Sfis_DW set single_user
--或者
--Sp_dboption 'Sfis_DW', 'single user', 'true'
--检查并重建日志文件,时间比较长,等待....
dbcc checkdb('Sfis_DW',REPAIR_ALLOW_DATA_LOSS)
--如果失败,以下语句进行修复。如果没有错误,可以跳过执行
dbcc checkdb('Sfis_DW',REPAIR_REBUILD)
--恢复成多用户模式
alter database Sfis_DW set multi_user
--或者
--Sp_dboption 'Sfis_DW', 'single user', 'false'
以上在SQLServer 2008 R2可以正常恢复 .