暴趣科技网
您的当前位置:首页SQLSERVER中修复状态为Suspect的数据库

SQLSERVER中修复状态为Suspect的数据库

来源:暴趣科技网


前几天的Server因断电损坏了DB,DB的Status被标记为 Suspect。 这种情况少见,此时不能Detachp这个DB了,只能Backup。 后面用这些T-Script重建log文件,还是少量数据丟失。 检查DB的状态: 1: SELECT DATABASEPROPERTYEX ( 'DemoSuspect' , 'STATUS' ) AS 'St

前几天的Server因断电损坏了DB,DB的Status被标记为Suspect。这种情况少见,此时不能Detachp这个DB了,只能Backup。

后面用这些T-Script重建log文件,还是少量数据丟失。

检查DB的状态:

 1: SELECT DATABASEPROPERTYEX ('DemoSuspect', 'STATUS') AS 'Status';
 2: GO
 3: 
 4: Status
 5: --------
 6: SUSPECT
 
 最后修复:

 1: ALTER DATABASE DemoSuspect SET EMERGENCY;
 2: Go
 3: ALTER DATABASE DemoSuspect SET SINGLE_USER;
 4: Go
 5: DBCC CHECKDB (DemoSuspect, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS;
 6: GO

DemoSuspect是你的DB名称。

还可以参加下面两篇文章:

TechEd Demo: Creating, detaching, re-attaching, and fixing a suspect database

CHECKDB From Every Angle: EMERGENCY mode repair - the very, very last resort

希望这篇Post对您有帮助。

Author: Petter Liu http://wintersun.cnblogs.com

显示全文