Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie verwenden eine CE-Konfiguration ( Cardinality Estimation ), die der Datenbank-Kompatibilitätsstufe 120 oder einer höheren Ebene für Ihr Microsoft SQL Server 2016-und 2017-System entspricht.
-
Sie führen eine Abfrage aus, die ein Suchprädikat enthält.
-
Die Abfrage sucht nach Werten, die kleiner oder gleich einer Zahl sind, die kleiner als der kleinste Wert von RANGE_HI_KEY ist, der im Statistics-Objektgespeichert ist. Oder die Abfrage sucht nach Werten, die größer als der Maximalwert von RANGE_HI_KEY für die gleichen Statistiken sind.
In diesem Szenario überschätzt der Abfrageoptimierer die Anzahl der Zeilen. Dies kann zu einer weniger optimalen Abfrageplan Wahl und zu schlechter Leistung führen.
Fehlerbehebung
Die Behebung dieses Problems ist in den folgenden kumulativen Updates für SQL Server enthalten:
Kumulatives Update 6 für SQL Server 2017
Kumulatives Update 8 für SQL Server 2016 SP1
Kumulatives Update 2 für SQL Server 2016 Hinweis Nachdem Sie dieses Update installiert haben, müssen Sie das Ablaufverfolgungsflag 4199 aktivieren, um dieses Problem zu beheben. Informationen zum Aktivieren des Ablaufverfolgungsflags 4199 finden Sie im Thema Ablaufverfolgungsflags (Transact-SQL) auf der Microsoft Developer Network (MSDN)-Website.
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:
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.