症状
假设你执行一条语句来创建统计或在 Microsoft SQL Server 2014 中执行在后台创建统计信息的语句。 如果数据值具有超过15个有效的十进制数字,并且数据分布在某些精简区域中不太大,而是非常密集,则无法创建统计信息,并且不会显示任何错误消息。
解决方案
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 2014 SP1 的累积更新1 /en-us/help/3067839
SQL Server 2014 的累积更新8 /en-us/help/3067836
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
更多信息
你可以使用以下代码在具有四个以上内核的服务器上重现此问题:
use mastergodrop database <DataBase Name>gocreate database <DataBase Name>goALTER DATABASE <DataBase Name> SET AUTO_UPDATE_STATISTICS OFFgouse <DataBase Name>;gocreate table <Table Name>( id decimal(19,0) NULL)godeclare @i int = 0DECLARE @NewRows AS table (id decimal(19,0))insert into @NewRows values(1234567890123456789)while @i < 12 begin insert into @NewRows select * from @NewRows set @i = @i + 1endinsert into <Table Name> select * from @NewRowsgodeclare @i int = 0DECLARE @NewRows AS table (id decimal(19,0))insert into @NewRows values(1234567890123457691)while @i < 16 begin insert into @NewRows select * from @NewRows set @i = @i + 1endinsert into <Table Name> select * from @NewRowsgodeclare @i int = 0DECLARE @NewRows AS table (id decimal(19,0))insert into @NewRows values(1234567890123457692)while @i < 12 begin insert into @NewRows select * from @NewRows set @i = @i + 1endinsert into <Table Name> select * from @NewRowsgocreate statistics stat on <Table Name> ([id])gouse mastergodrop database <DataBase Name>go
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。