Problembeschreibung
Ihre Abfrage kann langsam ausgeführt werden, wenn die folgenden Bedingungen zutreffen:
-
Die Abfrage verwendet Aggregate wie "Gruppieren nach".
-
SQL Server verwendet Hash Aggregate im Abfrageplan.
-
Die geschätzte Anzahl unterschiedlicher Werte ist viel niedriger als die tatsächliche Anzahl unterschiedlicher Werte für das Aggregat.
Wenn dieses Problem auftritt, wird ein Hash Warning-Ereignis angezeigt, wenn Sie eine Profiler-oder erweiterte Ereignisablaufverfolgung ausführen.
Ursache
Dieses Problem tritt auf, weil SQL Server die erforderliche arbeitsspeicherzuteilung unterschätzt. Dies führt dazu, dass intermiedate-Ergebnisse in tempdb verlaufen.
Fehlerbehebung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben:
HinweisSie müssen das Ablaufverfolgungsflag 9410 aktivieren, um diesen Fix zu aktivieren.
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Wir empfehlen, die neuesten kumulativen Updates für SQL Server herunterzuladen und zu installieren:
Informationsquellen
Erfahren Sie mehr über die Terminologie , mit der Microsoft Softwareupdates beschreibt.