DECLARE @dbname varchar(255)
select @dbname='要修复的数据库名'
--1、修改数据库为紧急模式
ALTER DATABASE @dbname SET EMERGENCY
--2、使数据库变为单用户模式
ALTER DATABASE @dbname SET SINGLE_USER
--3、修正数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象不正确。
--当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修正报告的不正确。
--但是,这些修正可能会导致一些数据丢失。
DBCC CheckDB (@dbname, REPAIR_ALLOW_DATA_LOSS)
--4、使数据库变回为多用户模式
ALTER DATABASE @dbname SET MULTI_USER
--5、 SQL数据库可疑状态恢复,修改数据库为正常模式
ALTER DATABASE @dbname SET ONLINE