Problembeschreibung
Angenommen, Sie führen eine Anweisung aus, um Statistiken zu erstellen oder eine Anweisung auszuführen, mit der Statistiken im Hintergrund in Microsoft SQL Server 2014 erstellt werden. Wenn die Datenwerte mehr als 15 signifikante Dezimalstellen aufweisen und die Datenverteilung in einigen dünnen Bereichen nicht gut verteilt und ziemlich dicht ist, können die Statistiken nicht erstellt werden, und es wird keine Fehlermeldung angezeigt.
Fehlerbehebung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 1 für SQL Server 2014 SP1 /en-us/help/3067839
Kumulatives Update 8 für SQL Server 2014 /en-us/help/3067836
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Weitere Informationen
Sie können den folgenden Code verwenden, um dieses Problem auf einem Server mit mehr als vier Kernen zu reproduzieren:
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
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.