Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie verfügen über eine Abfrage, die ein Prädikat für nicht Gleichheit in einer eindeutigen GUID-Spalte in SQL Server 2014 oder 2016 verwendet.
-
Die Statistiken werden mithilfe der standardmäßigen Stichprobenahme aktualisiert. Oder neue Zeilen werden nach der letzten Statistikaktualisierung in die Tabelle eingefügt.
-
SQL Server verwendet den neuen Kardinalitäts-Schätzer, in dem der Daten Bank Kompatibilitätsmodus auf 120 eingestellt ist.
-
Die GUID-Werte werden nicht einheitlich über die Tabelle verteilt.
In diesem Szenario, wenn Sie die Abfrage ausführen, kann es aufgrund einer falsch geschätzten Anzahl von Zeilen für das Prädikat im Abfrageplan zu schlechter Leistung kommen.
Fehlerbehebung
Dieses Problem wurde zuerst im folgenden kumulativen Update für SQL Server behoben:
Kumulatives Update 6 für SQL Server 2014 Service Pack 1, Kumulatives Update 1 für SQL Server 2016Nachdem Sie dieses kumulative Updatepaket installiert haben, müssen Sie das Ablaufverfolgungsflag 4199 aktivieren. Zu diesem Zweck können Sie den Startparameter -T4199 hinzufügen. Sie können auch die DBCC TRACEON (4199)- Anweisung für eine bestimmte Sitzung verwenden.
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:
Neuestes Kumulatives Update für SQL Server 2014Neuestes Kumulatives Update für SQL Server 2016
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Informationsquellen
Informieren Sie sich über die Terminologie , die Microsoft zum Beschreiben von Softwareupdates verwendet.