Sintomas
Suponha que você instale a versão de 64 bits do Microsoft SQL Server 2014, o 2016 ou o 2017 em um computador que esteja 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 no modo de usuário, você pode receber uma mensagem de erro de falta de memória no log de erros do SQL Server. Além disso, as consultas levam muito tempo para terminar a execução, e o SOS_MEMORY_TOPLEVELBLOCKALLOCATOR espera ocorre.
Ao examinar os pontos de informações a seguir, você verá que há um espaço de endereço virtual muito baixo disponível:
-
Seção de contagem de processo/sistema DBCC MEMORYSTATUS-memória virtual disponível
-
DMV: virtual_address_space_available_kb de sys.dm_os_process_memory coluna
Esses valores começam com cerca de 8 terabytes (TB) em um processo x64 e continuam a subir e se comunicar com alguns gigabytes (GB).
Quando você está no estágio em que o espaço de endereço virtual disponível está muito baixo, as consultas que tentam realizar a alocação de memória também podem encontrar um tipo de espera de CMEMTHREAD.
Os seguintes pontos de dados continuarão aumentando ao longo do tempo:
-
DMV: sys.dm_os_process_memory e sys.dm_os_memory_nodes-coluna virtual_address_space_reserved_kb
-
DBCC MEMORYSTATUS-seção do Gerenciador de memória-máquina reservada
Esses valores geralmente aumentam em múltiplos do valor "Max Server Memory" até quase 8 TB.
Observação o problema relacionado também está descrito no KB 3074434.
Resolução
Esta atualização está incluída nas seguintes atualizações cumulativas do SQL Server:
Atualização cumulativa 4 para SQL Server 2017
Atualização cumulativa 8 para SQL Server 2016 SP1
Atualização cumulativa 10 para SQL Server 2014 Service Pack 2
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Atualização cumulativa mais recente do SQL Server 2017
Observação Depois de aplicar essa atualização, você precisa adicionar o sinalizador de rastreamento 8075 como um parâmetro de inicialização para habilitar essa alteração.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Referências
Saiba mais sobre a terminologiaque a Microsoft usa para descrever atualizações de software.