按你搜索的可以解决.
------解决方案--------------------
USE MASTER GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='DBName' Go
sp_dboption 'DBName', 'single user', 'true' Go
update sysdatabases set status =28 where name='DBName' Go
sp_configure 'allow updates', 0 reconfigure with override Go
sp_dboption 'DBName', 'single user', 'false' Go
DBCC CHECKDB('DBName') GO
------解决方案--------------------
SQL code
1、修改数据库为紧急模式
ALTER DATABASE 数据库名 SET EMERGENCY
2、使数据库变为单用户模式
ALTER DATABASE 数据库名 SET SINGLE_USER
3、修正数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象不正确。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修正报告的不正确。但是,这些修正可能会导致一些数据丢失。
DBCC CheckDB (数据库名 , REPAIR_ALLOW_DATA_LOSS)
4、使数据库变回为多用户模式
ALTER DATABASE 数据库名 SET MULTI_USER
------解决方案-------------------- [Quote=引用:] SQL code
1、修改数据库为紧急模式
ALTER DATABASE 数据库名 SET EMERGENCY
2、使数据库变为单用户模式
ALTER DATABASE 数据库名 SET SINGLE_USER
前两步骤是对的,在更改为单用户模式之后运行DBCC CHECKDB看报什么错误,然后再做处理(到时候可以把错误贴出来)。因为使用DBCC with REPAIR_ALLOW_DATA_LOSS会导致数据丢失,可能会导致系统数据逻辑出现问题。建议发行那个表信息出问题之后可以讲所有数据导出来,然后再修复。 另外DBCC with REPAIR_ALLOW_DATA_LOSS不是万能的,有些错误也无法修复(比如系统信息损坏)。