SQL SERVER 2008:内部查询处理器错误: 查询处理器在执行过程中遇到意外错误

   今天一个同事突然告诉我,以前跑得很正常的一个SQL语句,执行时突然报如下错误:

        消息1222,级别16,状态18,第1 行

        已超过了锁请求超时时段。

        消息8630,级别16,状态1,第1 行

        内部查询处理器错误: 查询处理器在执行过程中遇到意外错误。

我执行了一下这个SQL语句,也是报如上错误,感觉有点奇怪,还是第一次遇到这种错误。我初步怀疑是SQL中某个表出现一致性错误或分配错误等原因造成。于是先用DBCC CHECKTABLE 依次检查每个表。DBCC CHECKTABLE用来检查组成表或索引视图的所有页和结构的完整性。结果还真的发现其中一个表有2个一致性错误。如下所示:

pbFabricWIP的 DBCC 结果。

消息 8951,级别 16,状态 1,第 1 行

表错误: 表 'pbFabricWIP' (ID 1254295528)。数据行在索引 'Current_Index' (ID 24)中没有匹配的索引行。与以下数据行匹配的索引行的键可能丢失或无效:

消息 8955,级别 16,状态 1,第 1 行

数据行(1:31937:26)由(HEAP RID = (1:31937:26))标识,索引值为 'Current_Department = 'FI' and Current_Operation = '待装单' and HEAP RID = (1:31937:26)'。

消息 8952,级别 16,状态 1,第 1 行

表错误: 表 'pbFabricWIP' (ID 1254295528)。索引 'Current_Index' (ID 24)中的索引行与任何数据行都不匹配。可能是以下行的多余或无效的键:

消息 8956,级别 16,状态 1,第 1 行

索引行(1:10613:16)的值为(Current_Department = 'FI' and Current_Operation = '待组板' and HEAP RID = (1:31937:26)),指向由(HEAP RID = (1:31937:26))标识的数据行。

对象 'pbFabricWIP' 的 7391 页中有 324059 行。

CHECKTABLE 在表 'pbFabricWIP' (对象 ID 1254295528)中发现 0 个分配错误和 2 个一致性错误。

对于由 DBCC CHECKTABLE (SystemDB.dbo.pbFabricWIP)发现的错误,repair_rebuild 是最低的修复级别。

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

 

于是接下来需要修复这个表的索引的一致性错误。使用DBCC DBREINDEX执行后,问题解决。

DBCC DBREINDEX('pbFabricWIP')

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值