Problembeschreibung
Angenommen, Sie haben den neuen Kardinalitäts-Schätzerin Microsoft SQL Server 2014 aktiviert. Wenn Sie eine Abfrage ausführen, die JOIN-Anweisungen enthält, können die folgenden Probleme auftreten:
-
Bei einigen Abfragen wird die Kompilierung erheblich verlängert, insbesondere dann, wenn die Abfrage eine große Anzahl von Verknüpfungen aufweist. Die Kompilierungszeit kann mit dem Wachstum von Joins immer deutlicher zunehmen.
-
Wenn das JOIN-Prädikat andere Bedingungen als Gleichheit oder eine Kombination von Gleichheiten verwendet, unterscheidet sich die geschätzte Anzahl von Zeilen mit bestimmten Typen in Joins von der tatsächlichen Anzahl der Zeilen, die verarbeitet werden. In diesem Fall nimmt die Abfrageleistung ab, und da die Abfrage eine große Speicherzuweisung anfordert, sinkt die Gesamtleistung des Servers.
Fehlerbehebung
Service Pack-Informationen
Um dieses Problem zu beheben, besorgen Sie sich Service Pack 1 für SQL Server 2014.
Weitere Informationen zu SQL Server 2014 Service Pack 1 (SP1) finden Sie unter Fehler, die in SQL Server 2014 Service Pack 1 behoben wurden.Hinweis Aktivieren Sie das Ablaufverfolgungsflag 4199, damit der Fix für das zweite in diesem Artikel beschriebene Problem wirksam wird.
Problemumgehung
Um diese Probleme zu umgehen, verwenden Sie den alten Kardinalitäts-Schätzer, indem Sie entweder den Datenbankkompatibilitätsgrad auf einen Wert kleiner als 120 festlegen oder das Ablaufverfolgungsflag 9481 auf globaler Ebene, Sitzung oder Abfrageebene aktivieren.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.