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

在数据库 'xinning' 中检测到一个可能的数据库一致性问题
今天碰到一个数据库问题,查询一张表的时候报错:
select top 100 * from table  没有问题;
select * from table 报下面的错误:

服务器: 消息 7987,级别 22,状态 3,行 1
在数据库 'xinning' 中检测到一个可能的数据库一致性问题。应该对数据库 'xinning' 运行 DBCC CHECKDB 和 DBCC CHECKCATALOG。


再执行:dbcc checkdb(xinning) 语句报下面的提示信息:

服务器: 消息 8909,级别 16,状态 1,行 1
表错误: 对象 ID -997982209,索引 ID 232,页 ID (1:4666)。页首结构中的 PageId = (34056:1972051435)。
服务器: 消息 8928,级别 16,状态 1,行 1
对象 ID 85575343,索引 ID 255: 未能处理页 (1:1632)。详细信息请参阅其它错误。
CHECKDB 发现了 0 个分配错误和 1 个一致性错误(在表 '(Object ID -997982209)' 中,该表的对象 ID 为 -997982209)。
...............................................

'ipms_measure_baseinfo' 的 DBCC 结果。
服务器: 消息 8944,级别 16,状态 12,行 1
表错误: 对象 ID 85575343,索引 ID 255,页 (1:1632),行 4。测试(ColumnOffsets <= (nextRec - pRec))失败。值为 12353 和 84。
对象 'ipms_measure_baseinfo' 有 1347 行,这些行位于 52 页中。
CHECKDB 发现了 0 个分配错误和 2 个一致性错误(在表 'ipms_measure_baseinfo' 中,该表的对象 ID 为 85575343)。

  
数据库

------解决方案--------------------
再试试这个呢.

alter database xinning set single_user
 
dbcc checkdb('xinning',repair_allow_data_loss)
 
alter database xinning set multi_user

------解决方案--------------------
修复不了的话创建一个空库,把对象和数据全部导过去,重命名一下