MSSQLSERVER_8623
Gilt für: SQL Server
Details
attribute | Wert |
---|---|
Produktname | SQL Server |
Ereignis-ID | 8623 |
Ereignisquelle | MSSQLSERVER |
Komponente | SQLEngine |
Symbolischer Name | OPTIMIZER_NOPLAN_ERR |
Meldungstext | Der Abfrageprozessor konnte keinen Abfrageplan erzeugen, da nicht genügend interne Ressourcen verfügbar sind. Dies tritt sehr selten auf und wird nur bei extrem komplexen Abfragen oder Abfragen erwartet, die auf sehr viele Tabellen oder Partitionen verweisen. Vereinfachen Sie die Abfrage. Wenn Sie glauben, dass Sie diese Meldung im Fehler erhalten haben, wenden Sie sich an den Kundendienst, um weitere Informationen zu erhalten. |
Erklärung
Der Abfrageoptimierer kann einen Abfrageplan nicht generieren, weil entweder Ressourcen auslaufen oder die Abfrage zu komplex ist, zwei unterschiedliche Zustände können für diesen Fehler zurückgegeben werden.
- Zustand 1 – Timeout der Abfrage aufgrund des zu komplexen Plans
- Status 2 – Die Abfrage hat keine Ressourcen mehr – Arbeitsspeicher
Benutzeraktion
Vereinfachen Sie die Abfrage, indem Sie sie in mehrere Abfragen entlang der größten Dimension teilen. Entfernen Sie zunächst alle Abfrageelemente, die nicht erforderlich sind, und versuchen Sie dann, eine temporäre Tabelle hinzuzufügen und die Abfrage in zwei aufzuteilen. Beachten Sie, dass, wenn Sie einen Teil der Abfrage in eine Unterabfrage, Funktion oder einen allgemeinen Tabellenausdruck verschieben, der nicht ausreicht, da sie von dem Compiler in eine einzelne Abfrage umkombiniert werden. Sie können auch versuchen, Hinweise hinzuzufügen, um einen Plan früher zu erzwingen, z. B. OPTION (FORCE ORDER).