KORREKTUR: Statistiken können nicht erstellt werden, wenn Sie die Anweisung ausführen, um sie direkt oder im Hintergrund in SQL Server 2014 zu erstellen.

Gilt für
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptome

Angenommen, Sie führen eine -Anweisung aus, um Statistiken zu erstellen oder eine Anweisung auszuführen, die Statistiken im Hintergrund in Microsoft SQL Server 2014 erstellt. Wenn die Datenwerte über 15 signifikante Dezimalstellen verfügen und die Datenverteilung nicht gut verteilt und in einigen dünnen Bereichen ziemlich dicht ist, können die Statistiken nicht erstellt werden, und es wird keine Fehlermeldung angezeigt.

Lösung

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

Informationen zu kumulativen Updates für SQL Server

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen 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 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 hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.