我的修复语句:
USE MASTER
 ALTER DATABASE TESTSJ SET EMERGENCY
 exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE
 exec sp_dboption 'TESTSJ', 'single user', 'true'
 dbcc checkdb(TESTSJ,REPAIR_ALLOW_DATA_LOSS)
 exec sp_dboption 'TESTSJ', 'single user', 'false'
 exec sp_configure 'allow updates',0 reconfigure with override 
 ALTER DATABASE TESTSJ SET ONLINE输出结果:配置选项 'allow updates' 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。
TESTSJ的 DBCC 结果。
消息 8978,级别 16,状态 1,第 1 行
表错误: 对象 ID 13,索引 ID 1,分区 ID 851968,分配单元 ID 851968 (类型为 In-row data)。页 (1:58945) 缺少上一页 (1:58944) 对它的引用。可能是因为链链接有问题。
系统无法自己修复此错误。
CHECKDB 在表 'sys.syshobtcolumns' (对象 ID 13)中发现 0 个分配错误和 1 个一致性错误。
消息 7995,级别 16,状态 1,第 1 行
数据库 'TESTSJ': 系统目录中存在一致性错误,无法继续处理 DBCC checkdb。
CHECKDB 在表 'ALLOCATION' (对象 ID 99)中发现 0 个分配错误和 1 个一致性错误。
CHECKDB 在数据库 'TESTSJ' 中发现 0 个分配错误和 2 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
配置选项 'allow updates' 已从 1 更改为 0。请运行 RECONFIGURE 语句进行安装。
高手们,帮帮忙啊!dbcc checkdb(TESTSJ,REPAIR_ALLOW_DATA_LOSS)的修复选项,我都试了,不行,这该怎么办啊?

解决方案 »

  1.   

    你这个貌似需要用:dbcc checktable而不是checkdb了。如果checktable不行的话再试试:将所有的数据库的MDF,LDF拷贝保存(系统库的不需要). 重装SQL,然后将MDF,LDF拷贝回DATA目录下. 然后在查询分析器里面使用sp_attach_db附加数据库. 
    EXEC sp_attach_db @dbname = N 'pubs ', 
    @filename1 = N 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf ', 
    @filename2 = N 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf ' 
      

  2.   

    另外用dbcc checktable,提示还是这错误
      

  3.   

    如果你有数据库备份的话可以考虑还原PAGE页,这个应该是最方便最快捷的。
      

  4.   

    Restore Pages (SQL Server):http://msdn.microsoft.com/en-us/library/ms175168.aspx