SQL SERVER 2008:内部查询处理器错误: 查询处理器在执行过程中遇到意外错误
2014-01-06 22:20
525 查看
今天一个同事突然告诉我,以前跑得很正常的一个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 输出了错误信息,请与系统管理员联系。
消息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 输出了错误信息,请与系统管理员联系。
相关文章推荐
- SQL SERVER 2008:内部查询处理器错误: 查询处理器在执行过程中遇到意外错误
- 内部查询处理器错误: 查询处理器在执行过程中遇到意外错误
- sql server 2008 System.Data.SqlClient.SqlException (0x80131904): 查询处理器未能为执行并行查询启动必要的线程资源 处理方法
- FIX: 错误消息当您使用服务器端游标来运行 SQL Server 2005 中大型复杂查询: " " 错误 8623, 严重性 16, 状态 1: 查询处理器用尽了超出内部资源:::
- SQL server 2008里面通过sys.dm_exec_procedure_stats得到存储过程的执行信息
- 开始安装SQL Server 2008 R2遇到配置错误的解决办法
- VS2010连接SQL Server 2008并执行查询操作
- SQL Server 存储过程遇到“表 ''#TT'' 没有标识属性无法执行 SET 操作”错误
- [原创]SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法
- sql server 2008启动时:已成功与服务器建立连接,但是在登录过程中发生错误然后再连接:错误:233
- SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法【已验证 】
- Sql Server 编写多条件查询语句的存储过程--包含语法错误的存储过程与正确存储过程
- [SQL Server] 2008执行语句遇到内存不足(1)——error 701
- SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法
- 关于SQL SERVER 2008安装过程中遇到的个小问题及解决办法
- SQL Server 2005/2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败的解决方法
- SQL Server -- SQLserver 存储过程执行错误记录到表
- SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查