CORREÇÃO: Erro de falta de memória quando o espaço de endereço virtual do processo do SQL Server é muito baixo em SQL Server

Aplica-se a: Microsoft SQL Server 2014 Service Pack 2SQL Server 2014 StandardSQL Server 2014 Developer Mais

Sintomas


Suponha que você instalar a versão de 64 bits do Microsoft SQL Server 2014, 2016 ou 2017 em um computador que está executando o Windows Server 2012 ou uma versão anterior do sistema operacional Windows. Quando o SQL Server usa todo o espaço de endereço virtual de modo de usuário, você pode receber uma mensagem de erro de memória de falta no log de erros do SQL Server. Além disso, consultas levam muito tempo para concluir a execução e ocorre a espera SOS_MEMORY_TOPLEVELBLOCKALLOCATOR.

Quando você examina os seguintes pontos de informações, você encontrará que há espaço de endereço virtual de disponível muito baixa:

  • DBCC MEMORYSTATUS - seção conta de processo/sistema - a memória Virtual disponível
  • DMV: sys.dm_os_process_memory - virtual_address_space_available_kb de coluna

Esses valores começarem aproximadamente 8 terabytes (TB) em um x64 processar e continuar a subir para baixo e atingir alguns gigabytes (GB).

Quando você está no estágio em que o espaço de endereço virtual disponível é muito baixo, consultas que tente executar alocação também pode encontrar um tipo de espera de CMEMTHREAD de memória.

Os seguintes pontos de dados continuarão crescendo ao longo do tempo:

  • DMV: sys.dm_os_process_memory e sys.dm_os_memory_nodes - virtual_address_space_reserved_kb de coluna
  • DBCC MEMORYSTATUS - Gerenciador de memória seção - VM reservado

Esses valores geralmente aumentará em múltiplos do valor "memória máxima do servidor" até quase 8 TB.

Observação: Problema relacionado também está descrito na KB 3074434.

Resolução


Essa atualização está incluída nas seguintes atualizações cumulativas para o SQL Server:

Atualização cumulativa 4 para o SQL Server 2017

Atualização de cumulativo 8 para SQL Server 2016 SP1

10 de atualização cumulativa para SQL Server 2014 Service Pack 2

Observação: Depois de aplicar essa atualização, você precisa adicionar o sinalizador de rastreamento 8075 como um parâmetro de inicialização para permitir que essa alteração.

Status


A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Referências


Saiba mais sobre a terminologia usada pela Microsoft para descrever as atualizações de software.