Sintomas
Suponha que você instale a versão de 64 bits do Microsoft SQL Server 2014, 2016 ou 2017 em um computador que esteja executando Windows Server 2012 ou uma versão anterior do sistema operacional Windows. Quando 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 insuficiente no log de erros SQL Server. Além disso, as consultas demoram muito tempo a concluir a execução e ocorre a SOS_MEMORY_TOPLEVELBLOCKALLOCATOR espera.
Ao examinar os seguintes pontos de informação, você descobrirá que há muito pouco espaço de endereço virtual disponível:
- DBCC MEMORYSTATUS - Secção Contagens de Processos/Sistemas - Memória Virtual Disponível
- Detran: sys.dm_os_process_memory - coluna virtual_address_space_available_kb
Esses valores começam em torno de 8 terabytes (TB) em um processo x64 e continuam a descer e chegar a alguns gigabytes (GB).
Quando você está no estágio em que o espaço de endereço virtual disponível é muito baixo, as consultas que tentam executar a alocação de memória também podem encontrar um tipo de espera de CMEMTHREAD.
Os seguintes pontos de dados continuarão a aumentar ao longo do tempo:
- Detran: sys.dm_os_process_memory e sys.dm_os_memory_nodes - coluna virtual_address_space_reserved_kb
- DBCC MEMORYSTATUS - Seção Gerenciador de Memória - VM Reservada
Estes valores aumentam normalmente em múltiplos do valor de "memória máxima do servidor" até quase 8 TB.
Observação O problema relacionado também é descrito na 3074434 da KB.
Resolução
Esta atualização está incluída nas seguintes atualizações cumulativas para 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
Acerca das atualizações cumulativas para SQL Server:
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:
Atualização cumulativa mais recente para o SQL Server 2017
Atualização cumulativa mais recente para o SQL Server 2016
Atualização cumulativa mais recente para o SQL Server 2014
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.
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Referências
Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.