DBAtlas · 数据库运维图谱

8651: Could not perform the operation because the requested memory grant was not available(无法执行操作,因为请求的内存授予不可用)

SQL Server

含义

查询所需的内存授予不可用,操作无法执行。与 8645 不同,这不是等待,而是直接无法提供所请求的大块内存;通常表明存在严重的内存压力。

原因

服务器上可用的查询内存无法满足单个运算符(例如非常大的排序/哈希)请求的授予。内存估算过高、max server memory 过低、外部内存压力,或 Resource Governor 限制过低(REQUEST_MAX_MEMORY_GRANT_PERCENT(工作负载组)或 MAX_MEMORY_PERCENT(资源池))都可能是原因。

解决方法

优化导致内存授予膨胀的查询(更新统计信息、合适的索引、拆分查询)。监控总内存和可用内存;检查 max server memory 设置以及来自外部应用的内存压力。如果使用 Resource Governor,检查工作负载组的 REQUEST_MAX_MEMORY_GRANT_PERCENT 和资源池的 MAX_MEMORY_PERCENT 设置。将内存密集型批处理作业移到非高峰时段。

在 DBAtlas 中打开 →

同一数据库的其他条目