由于数据库服务或者服务器非正常停止,很多时候会导致无法正常使用,使用SQL Server Management Studio登陆数据库显示为“紧急状态”

这种情况为了避免出错,先暂停数据库服务,复制对应的mdf和ldf文件到其他目录备份一份后使用以下查询进行尝试修复。

DBNAME为需要修复的数据库名。

USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE DBNAME SET EMERGENCY
GO
sp_dboption 'DBNAME', 'single user', 'true'
GO
DBCC CHECKDB('DBNAME','REPAIR_ALLOW_DATA_LOSS')
GO
ALTER DATABASE DBNAME SET ONLINE
GO
sp_configure 'allow updates', 0 reconfigure with override
GO
sp_dboption 'DBNAME', 'single user', 'false'
GO