--DataBaseName为修复的数据名
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE [DataBaseName] SET EMERGENCY
GO
sp_dboption 'DataBaseName', 'single user', 'true'
GO
DBCC CHECKDB('DataBaseName','REPAIR_ALLOW_DATA_LOSS')
GO
ALTER DATABASE [DataBaseName] SET ONLINE
GO
sp_configure 'allow updates', 0 reconfigure with override
GO
sp_dboption 'DataBaseName', 'single user', 'false'
GO SQL讲解:
1) 使用指定值强制重新配置:(1、0表示为真假)
sp_configure 'allow updates', 1 reconfigure with override
2) 设置为紧急状态:
alter database DataBaseName set emergency
3) 设置为单用户模式:
alter database [DataBaseName] set single_user
或者:Sp_dboption 'DataBaseName', 'single user', 'true'
4) 修复发现的错误:
DBCC CHECKDB('DataBaseName','REPAIR_ALLOW_DATA_LOSS')
5) 设置为联机、在线:
ALTER DATABASE [DataBaseName] SET ONLINE
方法二:这个方法还没尝试过,大家可以试试看。
CREATE DATABASE DataBaseName
ON (FILENAME = 'D:\DataBase\Name.mdf')
FOR ATTACH_REBUILD_LOG ;
GO
三、参考文献
SQL SERVER 2005 数据库状态为“可疑”的解决方法
SQL Server 2005无日志文件附加数据库
DBCC CHECKDB