当前位置: 代码迷 >> Sql Server >> 消息 8134,级别 16,状态 1,第 1 行 遇到以零作除数异常
  详细解决方案

消息 8134,级别 16,状态 1,第 1 行 遇到以零作除数异常

热度:717   发布时间:2016-04-24 09:29:21.0
消息 8134,级别 16,状态 1,第 1 行 遇到以零作除数错误

  这两天遇到一个非常奇怪的问题,给人的感觉有点匪夷所思,如下所示,在更新一个表的统计信息时,会遇到“遇到以零作除数错误”,本来这个错误是属于数学错误,但是居然出现在更新统计信息的SQL语句里面

UPDATE STATISTICS [dbo].[FIInspectFabric] SAMPLE 20 PERCENT;

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

遇到以零作除数错误。

 

UPDATE STATISTICS [dbo].[FIInspectFabric] WITH FULLSCAN;

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

遇到以零作除数错误。

clipboard

如果我更新统计信息的SQL语句不带参数,则会执行成功。如下所示

UPDATE STATISTICS [dbo].[FIInspectFabric];

 

DBCC CHECKTABLE('FIInspectFabric')也没有发现任何问题,Google、Bing搜索了很久也没有查到相关资料。

image

问题出在哪里?一直没有答案。直到我检查这个表的索引时,发现在表FIInspectFabric的字段A、B上建立了主键索引、然后不知道那个程序员又在字段A上建立了两个索引(严重鄙视之),于是删除了这两个索引后,重新执行上面语句OK,问题消失了,于是我建立了测试表,想重现这个错误,很奇怪,怎么也重现不了这个错误。