DBAtlas · Database operations atlas

8651: Could not perform the operation because the requested memory grant was not available

SQL Server

What does it mean?

The memory grant required by the query was not available and the operation could not be performed. Unlike 8645, this is not a wait but an outright failure to provide the large memory block requested; it usually indicates severe memory pressure.

Why does it happen?

The available query memory on the server cannot satisfy the grant requested by a single operator (e.g., a very large sort/hash). Excessively high memory estimates, a low max server memory, external memory pressure or a low Resource Governor limit, REQUEST_MAX_MEMORY_GRANT_PERCENT (workload group) or MAX_MEMORY_PERCENT (resource pool), can be the cause.

How to fix it

Optimize queries that inflate memory grants (update statistics, proper indexing, splitting the query). Monitor total and available memory; check the max server memory setting and memory pressure from external applications. If Resource Governor is in use, review the workload group's REQUEST_MAX_MEMORY_GRANT_PERCENT and the pool's MAX_MEMORY_PERCENT settings. Move memory-intensive batch jobs to off-peak hours.

Open in DBAtlas →

More from this engine