DBAtlas · Atlas de operações de banco de dados

8645: A time out occurred while waiting for memory resources to execute the query (timeout aguardando recursos de memória para executar a consulta)

SQL Server

O que significa?

Uma consulta sofreu timeout enquanto aguardava no resource semaphore o memory grant de que precisa para ser executada. Como a pressão de memória impediu a alocação de um grant, a operação foi cancelada.

Por que acontece?

Consultas concorrentes com uso intenso de memória (sorts grandes, hash joins, hash aggregates) consumiram todo o pool de memória para consultas; novas consultas entraram na fila do semáforo e sofreram timeout. Estimativas de memory grant superdimensionadas (estatísticas desatualizadas, planos ruins) ou memória insuficiente no servidor são a causa raiz.

Como resolver

Identifique as consultas que aguardam ou mantêm memória com sys.dm_exec_query_memory_grants e as DMVs do resource semaphore. Atualize as estatísticas e corrija planos que causam memory grants inflados (índices adequados, melhores estimativas). Reduza a concorrência de consultas com uso intenso de memória; se necessário, limite os memory grants com o Resource Governor. Revise a configuração de memória do servidor (max server memory).

Abrir no DBAtlas →

Mais entradas deste banco