资源描述
修复系统表(表错误-对象id 2。text、ntext或image节点(位于页(1-875),槽0,文 本id 177078272)与该节点位于页(1-500),槽14处的引用不匹配)修复数据库,应该是一个再熟悉不过的“陌生”东东了。以往修复就使用一般的修复语 句即可,今天遇到一个顽固不化的错误,nnd,报错信息如下:服务器:消息8929,级别16,状态1,行1对象id 2:在文本id 177078272中发现错误,该文本的所有者是由rid = (1:627:1) id = 1899153811 and indid = 10 标识的数据记录。服务器:消息8961,级别16,状态1,行1表错误:对象 id 2o textntext 或 image 节点(位于页(1:875),槽 0,文本 id 177078272) 与该节点位于页(1:500),槽14处的引用不匹配。yinyi的 dbcc 结果。sysobjects的 dbcc 结果。对象sysobjects有419行,这些行位于7页中。sysindexes的 dbcc 结果。对象sysindexes有451行,这些行位于22页中。checkdb发现了 0个分配错误和2个一致性错误(在表sysindexes中,该表的对象 id 为 2)osyscolumns的 dbcc 结果。checkdb发现了 0个分配错误和2个一致性错误(在数据库yinyi中)。dbcc执行完毕。如果dbcc输出了错误信息,请与系统管理员联系。这个是已经经过修复后仍然存在的问题,因为提示的是系统表sysobjects表存在问题, 且有提示了 rid及id,我将此条数据查询出来,交核对了同类型的数据库,也就一个栏位不 一样,且表示的是一个所影响的行数,其它并无相应的差别。本来打算放弃的,不过后又尝 试着将一个经常会使用到的一个表的数据全部清除(truncate),再进行checkdb则不再出现错 误。然后将此表中的数据先查询出来放到临时表,再清掉所有的数据,再从临时表中insert 进来,此时再来checkdb,checkdb发现了 0个分配错误和0个一致性错误(在数据库yinyi中)。dbcc执行完毕。如果dbcc输出了错误信息,请与系统管理员联系。大功告成,此现象说明了其实checkdb出来若存在系统表有问题的情况下,我们的系统 不会那么容易坏的。你首先需要检查的是你平时会用到的表,即使是checktable也不一定会 出错,只能根据你软件中在哪一个点儿会弹错,分析用到的表,进行依次的排除。此篇文章写到这里希望遇到类似“表错误:对象id 2o text、ntext或image节点(位于 页(1:875),槽0,文本id 177078272)与该节点位于页(1:500),槽14处的引用不匹配” 问题的朋友们细心点儿,希望对大家有帮助!更多信息请查看IT技术专栏
展开阅读全文