Symptome
Nehmen Sie folgendes Szenario an:
- Sie haben eine Abfrage, die ein Nicht-Gleichheitsprädikat für eine eindeutige GUID-Spalte in SQL Server 2014 oder 2016 verwendet.
- Die Statistiken werden mithilfe der Standardstichprobenentnahme aktualisiert. Oder es werden neue Zeilen nach der letzten Statistikaktualisierung in die Tabelle eingefügt.
- SQL Server verwendet den neuen Kardinalitätsschätzer, in dem der Datenbankkompatibilitätsmodus auf 120 festgelegt ist.
- Die GUID-Werte sind ungleichmäßig über die Tabelle verteilt.
In diesem Szenario kann beim Ausführen der Abfrage eine schlechte Leistung auftreten, da die Anzahl der Zeilen für das Prädikat im Abfrageplan falsch geschätzt wird.
Lösung
Dieses Problem wurde erstmals 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 2016
Nachdem Sie dieses kumulative Updatepaket installiert haben, müssen Sie das Ablaufverfolgungsflag 4199 aktivieren. Dazu können Sie den Startparameter -T4199 hinzufügen. Sie können auch die Anweisung dbcc traceon(4199) für eine bestimmte Sitzung verwenden.
Informationen zu kumulativen Updates für SQL Server
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:
Neuestes kumulative Update für SQL Server 2014
Neuestes kumulative Update für SQL Server 2016
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.
Referenzmaterial
Erfahren Sie mehr über die Terminologie , die Microsoft zum Beschreiben von Softwareupdates verwendet.