Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie verfügen über eine Abfrage, die ein Prädikat enthält, das eine parametrisierte skalare benutzerdefinierte Funktion umfasst.
-
Es gibt mehrere Kombinationen von Eingabeparameterwerten, die durch diese benutzerdefinierte Funktion zum gleichen Ergebnis führen können.
-
SQL Server verwendet den neuen Kardinalitäts-Schätzer, in dem der Daten Bank Kompatibilitätsmodus auf 120 eingestellt ist.
Wenn Sie die Abfrage ausführen, wird in diesem Szenario aufgrund einer falsch geschätzten Anzahl von Zeilen für das Prädikat, das die benutzerdefinierte Funktion im Abfrageplan beinhaltet, eine schlechte Abfrageleistung auftreten.
Fehlerbehebung
Dieses Problem wurde zuerst im folgenden kumulativen Update für SQL Server behoben:
Kumulatives Update 6 für SQL Server 2014 Service Pack 1Nachdem 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:
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.