表格dtr_shch_m1的总记录数:108546,
select * FROM Dtr_shch_m1 查询时,显示到70600行时,提出示如下错误:
----------------------------------------------------------------
服务器: 消息 3624,级别 20,状态 1,行 1
Location: q:\SPHINX\NTDBMS\storeng\drs\include\record.inl:1447
Expression: m_SizeRec > 0 && m_SizeRec <= MAXDATAROW
SPID: 53
Process ID: 380连接中断
----------------------------------------------------------------
update Dtr_shch_m1 set gx_int_q=0
提示如下错误:服务器: 消息 644,级别 21,状态 3,行 1
未能在索引页 (1:108461) 中找到 RID '1644423130303737333534100' 的索引条目(索引 ID 0,数据库 'lt_erp')。连接中断------------------------------------------------------------------------------------
两个星期以前,表格dtr_shch_m1的总记录数:96546,
可以全部查询,不会提示错误。
请问,如何解决?
select * FROM Dtr_shch_m1 查询时,显示到70600行时,提出示如下错误:
----------------------------------------------------------------
服务器: 消息 3624,级别 20,状态 1,行 1
Location: q:\SPHINX\NTDBMS\storeng\drs\include\record.inl:1447
Expression: m_SizeRec > 0 && m_SizeRec <= MAXDATAROW
SPID: 53
Process ID: 380连接中断
----------------------------------------------------------------
update Dtr_shch_m1 set gx_int_q=0
提示如下错误:服务器: 消息 644,级别 21,状态 3,行 1
未能在索引页 (1:108461) 中找到 RID '1644423130303737333534100' 的索引条目(索引 ID 0,数据库 'lt_erp')。连接中断------------------------------------------------------------------------------------
两个星期以前,表格dtr_shch_m1的总记录数:96546,
可以全部查询,不会提示错误。
请问,如何解决?
DBCC CHECKTABLE('dtr_shch_m1')返回结果如下:服务器: 消息 8909,级别 16,状态 1,行 1
表错误: 对象 ID -147884731,索引 ID 2712,页 ID (1:108462)。页首结构中的 PageId = (17396:695038320)。
服务器: 消息 8928,级别 16,状态 1,行 1
对象 ID 2094630505,索引 ID 0: 未能处理页 (1:108461)。详细信息请参阅其它错误。
服务器: 消息 8944,级别 16,状态 1,行 1
表错误: 对象 ID 2094630505,索引 ID 0,页 (1:108461),行 3。测试(offsetNull >= BASEOFFSET)失败。值为 0 和 4。
服务器: 消息 8928,级别 16,状态 1,行 1
对象 ID 2094630505,索引 ID 0: 未能处理页 (1:108462)。详细信息请参阅其它错误。
CHECKTABLE 发现了 0 个分配错误和 1 个一致性错误(在表 '(Object ID -147884731)' 中,该表的对象 ID 为 -147884731)。
'Dtr_shch_m1' 的 DBCC 结果。
对象 'Dtr_shch_m1' 有 108538 行,这些行位于 10021 页中。
CHECKTABLE 发现了 0 个分配错误和 3 个一致性错误(在表 'Dtr_shch_m1' 中,该表的对象 ID 为 2094630505)。
repair_allow_data_loss 是最低的修复级别(对于由 DBCC CHECKTABLE (lt_erp.dbo.Dtr_shch_m1 ) 发现的错误而言)。再运行:
select * from dtr_shch_m1返回70600笔记录后,就报错:服务器: 消息 3624,级别 20,状态 1,行 1
Location: p:\sql\ntdbms\storeng\drs\include\record.inl:1447
Expression: m_SizeRec > 0 && m_SizeRec <= MAXDATAROW
SPID: 57
Process ID: 740连接中断
这个表的总记录数是:108546。-------------------------------------怎么办呀?
急死人了,现在所有人都用不了程序了。555...
未处理修复语句。数据库需要处于单用户模式下。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。请问:
如何进入单用户模式?
不懂的太多了? 555....
go
dbcc checktable('dtr_shch_m1',repair_allow_data_loss)
go
go
dbcc checktable('dtr_shch_m1',repair_allow_data_loss)
go
结果如下:
服务器: 消息 8909,级别 16,状态 1,行 1
表错误: 对象 ID -147884731,索引 ID 2712,页 ID (1:108462)。页首结构中的 PageId = (17396:695038320)。
服务器: 消息 8928,级别 16,状态 1,行 1
对象 ID 2094630505,索引 ID 0: 未能处理页 (1:108461)。详细信息请参阅其它错误。
服务器: 消息 8944,级别 16,状态 1,行 1
表错误: 对象 ID 2094630505,索引 ID 0,页 (1:108461),行 3。测试(offsetNull >= BASEOFFSET)失败。值为 0 和 4。
服务器: 消息 8928,级别 16,状态 1,行 1
对象 ID 2094630505,索引 ID 0: 未能处理页 (1:108462)。详细信息请参阅其它错误。
服务器: 消息 8978,级别 16,状态 1,行 1
表错误: 对象 ID 2094630505,索引 ID 1。页 (1:90348) 缺少上一页 (1:108462) 对它的引用。可能是因为链的链接有问题。
服务器: 消息 8976,级别 16,状态 1,行 1
表错误: 对象 ID 2094630505,索引 ID 1。在扫描操作中未发现页 (1:108461),而其父代 (1:147480) 和上一页 (1:147567) 指向了该页。请检查先前的错误。
服务器: 消息 8980,级别 16,状态 1,行 1
表错误: 对象 ID 2094630505,索引 ID 1。索引节点页 (1:147480),槽 144 指向子页 (1:108462) 和上一子页 (1:108461),但未遇到这些页。
该错误已修复。
CHECKTABLE 发现了 0 个分配错误和 1 个一致性错误(在表 '(Object ID -147884731)' 中,该表的对象 ID 为 -147884731)。
CHECKTABLE 修复了 0 个分配错误和 1 个一致性错误(在表 '(Object ID -147884731)' 中,该表的对象 ID 为 -147884731)。
'Dtr_shch_m1' 的 DBCC 结果。
该错误已修复。
该错误已修复。
该错误已修复。
该错误已修复。
该错误已修复。
该错误已修复。
修复: 页 (1:108461) 已从对象 ID 2094630505,索引 ID 0 处释放。
修复: 页 (1:108462) 已从对象 ID 2094630505,索引 ID 0 处释放。
成功地还原了数据库 'lt_erp' 中对象 'dbo.Dtr_shch_m1' 的 Clustered 索引。
对象 'Dtr_shch_m1' 有 108538 行,这些行位于 10021 页中。
CHECKTABLE 发现了 0 个分配错误和 6 个一致性错误(在表 'Dtr_shch_m1' 中,该表的对象 ID 为 2094630505)。
CHECKTABLE 修复了 0 个分配错误和 6 个一致性错误(在表 'Dtr_shch_m1' 中,该表的对象 ID 为 2094630505)。
DBCC CHECKTABLE('dtr_shch_m1')
结果如下:
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1'(ID 2094630505)(索引 ID 2)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:90033:217)(其值为 id_shch_b = 'DA10014830' and gx_int = 1.039796435E-042 and id_shch_m1 = 'DB10077354')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1'(ID 2094630505)(索引 ID 2)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:90033:218)(其值为 id_shch_b = 'DA10014830' and gx_int = 1.039796435E-042 and id_shch_m1 = 'DB10077355')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1'(ID 2094630505)(索引 ID 2)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:90033:219)(其值为 id_shch_b = 'DA10014831' and gx_int = 1.039796435E-042 and id_shch_m1 = 'DB10077356')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1'(ID 2094630505)(索引 ID 2)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:90033:220)(其值为 id_shch_b = 'DA10014831' and gx_int = 1.039796435E-042 and id_shch_m1 = 'DB10077357')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1'(ID 2094630505)(索引 ID 2)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:90033:221)(其值为 id_shch_b = 'DA10014831' and gx_int = 1.039796435E-042 and id_shch_m1 = 'DB10077358')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1'(ID 2094630505)(索引 ID 2)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:90033:222)(其值为 id_shch_b = 'DA10014831' and gx_int = 1.039796435E-042 and id_shch_m1 = 'DB10077359')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1'(ID 2094630505)(索引 ID 2)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:90033:223)(其值为 id_shch_b = 'DA10014831' and gx_int = 1.039796435E-042 and id_shch_m1 = 'DB10077360')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1'(ID 2094630505)(索引 ID 2)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:90033:224)(其值为 id_shch_b = 'DA10014831' and gx_int = 1.039796435E-042 and id_shch_m1 = 'DB10077361')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1_1'(ID 2094630505)(索引 ID 3)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:31295:286)(其值为 gongxh = 'A0' and id_shch_b = 'DA10014831' and id_shch_m1 = 'DB10077358')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1_1'(ID 2094630505)(索引 ID 3)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:34758:217)(其值为 gongxh = 'B0' and id_shch_b = 'DA10014831' and id_shch_m1 = 'DB10077359')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1_1'(ID 2094630505)(索引 ID 3)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:86778:174)(其值为 gongxh = '20' and id_shch_b = 'DA10014831' and id_shch_m1 = 'DB10077357')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1_1'(ID 2094630505)(索引 ID 3)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:89321:149)(其值为 gongxh = 'V0' and id_shch_b = 'DA10014830' and id_shch_m1 = 'DB10077354')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1_1'(ID 2094630505)(索引 ID 3)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:89322:109)(其值为 gongxh = 'G0' and id_shch_b = 'DA10014831' and id_shch_m1 = 'DB10077360')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1_1'(ID 2094630505)(索引 ID 3)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:89325:86)(其值为 gongxh = 'P0' and id_shch_b = 'DA10014831' and id_shch_m1 = 'DB10077361')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1_1'(ID 2094630505)(索引 ID 3)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:89326:83)(其值为 gongxh = '10' and id_shch_b = 'DA10014831' and id_shch_m1 = 'DB10077356')指向由 标识的数据行。
服务器: 消息 8952,级别 16,状态 1,行 1
表错误: 数据库 'lt_erp',索引 'Dtr_shch_m1.IX_Dtr_shch_m1_1'(ID 2094630505)(索引 ID 3)。下列键的键多余或无效:
服务器: 消息 8956,级别 16,状态 1,行 1
索引行(1:89327:70)(其值为 gongxh = 'ZZ' and id_shch_b = 'DA10014830' and id_shch_m1 = 'DB10077355')指向由 标识的数据行。
'Dtr_shch_m1' 的 DBCC 结果。
对象 'Dtr_shch_m1' 有 108538 行,这些行位于 5169 页中。
CHECKTABLE 发现了 0 个分配错误和 16 个一致性错误(在表 'Dtr_shch_m1' 中,该表的对象 ID 为 2094630505)。
repair_fast 是最低的修复级别(对于由 DBCC CHECKTABLE (lt_erp.dbo.Dtr_shch_m1 ) 发现的错误而言)。
DBCC DBREINDEX('dtr_shch_m1')结果如下:
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。再运行:
DBCC CHECKTABLE('dtr_shch_m1')结果如下:
'Dtr_shch_m1' 的 DBCC 结果。
对象 'Dtr_shch_m1' 有 108538 行,这些行位于 5169 页中。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。现在Dtr_shch_m1表是不是完全可以用了?