玉祥平台客服-15087858732

标题: 按索引字段查询时报错 [打印本页]

作者: fteair    时间: 2020-6-5 18:01
标题: 按索引字段查询时报错
当客户查询一张表时,报错, 如下:

Location:  statutil.cpp:3225
Expression:         m_fInitialized && m_statBlob.CbSize() && iKey >= -1 && iKey < m_statBlob.GetHeader()->GetKeyCount()
SPID:         61
Process ID:         1876
消息 3624,级别 20,状态 1,第 1 行
系统断定检查已失败。有关详细信息,请查看 SQL Server 错误日志。通常,断定失败是由软件错误或数据损坏导致的。若要检查数据库是否已损坏,请考虑运行 DBCC CHECKDB。如果您同意在安装过程中将转储发送到 Microsoft,则将向 Microsoft 发送微型转储。更新可能在 Microsoft 的最新 Service Pack 或技术支持部门的 QFE 中提供。
消息 0,级别 20,状态 0,第 0 行
当前命令发生了严重错误。应放弃任何可能产生的结果。


看到这错误 ,给人的第一印像是 数据库里是不是有坏页了,所以随即对整个库做  DBCC CHECKDB 的检查(当然对那特定的表做检查也是快速定位错误的一种途径),但检查的 0 个分配错误和 0 个一致性错误 。这倒让我有些差异,随即查看 error log ,发现用户在几分钟前重启过sql server 服务,并且当时数据库里的这张表正在重新组织索引,那么这时就把这问题基本上缩小范围了。
此时,我这样做了一下验证,通过其它字段查询同样一条内客是可以的,但就是用特定的那个字段去查询会报错,又通过 sp_helpindex 查看这张表上的索引情况,发现出问题的字段上果然有索引,所以让客户把涉汲这个字段的索引全部删除重建,再去查询就正常了。

事后问客户,为啥重启sql 服务,他们说在重新组织索引时,发现等了半天也没有动静,以为卡死了,所以就重启了。


作者: fteair    时间: 2020-6-5 18:02

作者: 张兴康    时间: 2020-6-8 15:42

作者: fteair    时间: 2020-6-8 17:36
张兴康 发表于 2018-1-8 15:42


作者: 张兴康    时间: 2020-6-9 15:38

作者: fteair    时间: 2020-6-9 17:56
张兴康 发表于 2018-1-9 15:38


作者: 张兴康    时间: 2020-6-10 17:03

作者: fteair    时间: 2020-6-10 17:59
张兴康 发表于 2018-1-10 17:03


作者: fteair    时间: 2020-6-10 18:11

作者: 张兴康    时间: 2020-6-11 15:08

作者: fteair    时间: 2020-6-11 18:02
张兴康 发表于 2018-1-11 15:08


作者: fteair    时间: 2020-6-11 18:13

作者: 张兴康    时间: 2020-6-12 16:58





欢迎光临 玉祥平台客服-15087858732 (http://plat.delit.cn/) Powered by Discuz! X3.2