日期:2014-05-17  浏览次数:20585 次

SQL2005修复数据库时出现错误
我的修复语句:
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)的修复选项,我都试了,不行,这该怎么办啊?

------解决方案--------------------
DBCC CHECKDB with NO_INFOMSGS 返回什么结果?
------解决方案--------------------
要不试试做个页面还原呢。