8651: Could not perform the operation because the requested memory grant was not available (não foi possível executar a operação porque o memory grant solicitado não estava disponível)
SQL ServerO que significa?
O memory grant exigido pela consulta não estava disponível e a operação não pôde ser executada. Diferentemente do 8645, não se trata de uma espera, mas de uma falha direta em fornecer o grande bloco de memória solicitado; geralmente indica pressão de memória severa.
Por que acontece?
A memória disponível para consultas no servidor não consegue atender ao grant solicitado por um único operador (por exemplo, um sort/hash muito grande). Estimativas de memória excessivamente altas, um max server memory baixo, pressão externa de memória ou um limite baixo do Resource Governor, REQUEST_MAX_MEMORY_GRANT_PERCENT (workload group) ou MAX_MEMORY_PERCENT (resource pool), podem ser a causa.
Como resolver
Otimize as consultas que inflam os memory grants (atualize as estatísticas, indexe adequadamente, divida a consulta). Monitore a memória total e disponível; verifique a configuração max server memory e a pressão de memória de aplicações externas. Se o Resource Governor estiver em uso, revise as configurações REQUEST_MAX_MEMORY_GRANT_PERCENT do workload group e MAX_MEMORY_PERCENT do pool. Mova jobs em lote com uso intenso de memória para horários fora de pico.
Mais entradas deste banco
- 7202Could not find server 'name' in sys.servers (o servidor não foi encontrado em sys.servers)
- 40501The service is currently busy. Retry the request after 10 seconds (o serviço está ocupado; repita a requisição após 10 segundos)
- 8645A time out occurred while waiting for memory resources to execute the query (timeout aguardando recursos de memória para executar a consulta)
- 5061ALTER DATABASE failed because a lock could not be placed on database (ALTER DATABASE falhou porque não foi possível obter um lock no banco)
- 3702Cannot drop database because it is currently in use (não é possível remover o banco porque ele está em uso)
- 15138The database principal owns a schema in the database, and cannot be dropped (o principal é dono de um schema no banco e não pode ser removido)
- 1934INSERT/UPDATE failed because the following SET options have incorrect settings (INSERT/UPDATE falhou porque estas opções SET têm valores incorretos)