SQLSERVER中修复状态为Suspect的数据库
程序员文章站
2024-02-12 09:19:28
...
前几天的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
上一篇: 关于Yii和DWZ整合有关问题
下一篇: php强制文件下载的自定义函数代码