Symptom
Anta att du kör en sats för att skapa statistik eller kör en sats som skapar statistik i bakgrunden i Microsoft SQL Server 2014. När datavärdena har över 15 signifikanta decimalsiffror och datafördelningen inte är väl fördelad utan ganska tät vid vissa tunna intervall, kan statistiken inte skapas och det visas inget felmeddelande.
Lösning
Problemet åtgärdades först i följande kumulativa uppdatering av SQL Server.
Kumulativ uppdatering 1 för SQL Server 2014 SP1 /en-us/help/3067839
Kumulativ uppdatering 8 för SQL Server 2014 /en-us/help/3067836
Om kumulativa uppdateringar för SQL Server
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
- Senaste kumulativa uppdateringen för SQL Server 2014 SP1
- Senaste kumulativa uppdateringen för SQL Server 2014
Mer information
Du kan använda följande kod för att återskapa det här problemet på en server som har fler än fyra kärnor:
use master
go
drop database <DataBase Name>
go
create database <DataBase Name>
go
ALTER DATABASE <DataBase Name> SET AUTO_UPDATE_STATISTICS OFF
go
use <DataBase Name>;
go
create table <Table Name>
(
id decimal(19,0) NULL
)
go
declare @i int = 0
DECLARE @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 + 1
end
insert into <Table Name> select * from @NewRows
go
declare @i int = 0
DECLARE @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 + 1
end
insert into <Table Name> select * from @NewRows
go
declare @i int = 0
DECLARE @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 + 1
end
insert into <Table Name> select * from @NewRows
go
create statistics stat on <Table Name> ([id])
go
use master
go
drop database <DataBase Name>
go
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".