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可以正常恢复 .