8645: A time out occurred while waiting for memory resources to execute the query
SQL ServerWas bedeutet das?
Eine Abfrage lief beim Warten am Resource Semaphore auf den Memory Grant, den sie zur Ausführung benötigt, in einen Timeout. Da Speicherdruck die Zuteilung eines Grants verhindert hat, wurde die Operation abgebrochen.
Ursache
Gleichzeitige speicherintensive Abfragen (große Sorts, Hash Joins, Hash-Aggregate) haben den gesamten Abfragespeicherpool belegt; neue Abfragen haben sich am Semaphore angestellt und liefen in einen Timeout. Grundursache sind überhöhte Schätzungen für Memory Grants (veraltete Statistiken, schlechte Pläne) oder zu wenig Serverspeicher.
Lösung
Ermittle mit sys.dm_exec_query_memory_grants und den Resource-Semaphore-DMVs Abfragen, die auf Speicher warten oder ihn halten. Aktualisiere Statistiken und korrigiere Pläne, die überhöhte Memory Grants verursachen (passende Indizes, bessere Schätzungen). Reduziere die Parallelität speicherintensiver Abfragen; begrenze Memory Grants bei Bedarf mit Resource Governor. Prüfe die Speicherkonfiguration des Servers (max server memory).
Weitere Einträge zu dieser Datenbank
- 4922ALTER TABLE ALTER COLUMN failed because one or more objects access this column
- 7202Could not find server 'name' in sys.servers
- 40501The service is currently busy. Retry the request after 10 seconds
- 8651Could not perform the operation because the requested memory grant was not available
- 5061ALTER DATABASE failed because a lock could not be placed on database
- 3702Cannot drop database because it is currently in use
- 15138The database principal owns a schema in the database, and cannot be dropped