DBAtlas · 数据库运维图谱

8645: A time out occurred while waiting for memory resources to execute the query(等待执行查询所需的内存资源时超时)

SQL Server

含义

查询在资源信号量上等待执行所需的内存授予时超时。由于内存压力导致无法分配授予,操作被取消。

原因

并发的内存密集型查询(大型排序、哈希连接、哈希聚合)耗尽了整个查询内存池;新查询在信号量上排队并超时。过高的内存授予估算(统计信息过期、执行计划不佳)或服务器内存不足是根本原因。

解决方法

用 sys.dm_exec_query_memory_grants 和资源信号量相关 DMV 找出等待或持有内存的查询。更新统计信息,修正导致内存授予膨胀的执行计划(合适的索引、更准确的估算)。降低内存密集型查询的并发度;必要时用 Resource Governor 限制内存授予。检查服务器内存配置(max server memory)。

在 DBAtlas 中打开 →

同一数据库的其他条目