Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Depois de aplicar essa atualização, você precisará adicionar o sinalizador de rastreamento-T8075 como um parâmetro de inicialização para habilitar essa alteração.

Sintomas

Quando você executa uma consulta em uma versão de 64 bits do Microsoft SQL Server 2012, você recebe uma mensagem de erro de falta de memória que se parece com o seguinte no log de erros do SQL Server:

Falha ao atribuir páginas: FAIL_PAGE_ALLOCATION 513

As consultas levam muito tempo para concluir a execução e encontrar SOS_MEMORY_TOPLEVELBLOCKALLOCATOR esperar. 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.

Causa

Quando o processo do SQL Server atingir o estado em que o total de memória do servidor de destino = memória de servidor de destino = máximo de memória do servidor, há políticas no Gerenciador de memória do SQL Server para permitir que novas atribuições solicitem que várias páginas de 8 KB sejam bem-sucedidas temporariamente. O padrão de alocação repetido sob essa condição pode causar a fragmentação dos blocos de memória e do consumo do espaço de endereço virtual. Se esse processo for repetido muitas vezes, o espaço de endereço virtual do SQL Server será esgotado, e você verá os sintomas mencionados anteriormente.

Resolução

Informações sobre a atualização cumulativa

O problema foi corrigido primeiro na atualização cumulativa a seguir do SQL Server.

 

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. Recomendamos que você baixe e instale as atualizações cumulativas mais recentes do SQL Server:

Esse hotfix evita a falta de memória e a redução contínua do espaço de endereço virtual disponível que você pode enfrentar.

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Informações adicionais

  • O Windows 2012 R2 permite que o espaço de endereço virtual cresça tão grande quanto 128 TB. Portanto, talvez você não perceba esse problema nos ambientes Windows 2012 R2. Para obter mais informações, consulte o seguinte tópico no centro de desenvolvimento do Windows:limites de memória para versões do Windows e do Windows Server

  • Se você vir o crescimento contínuo em espaço de endereço virtual mesmo depois de aplicar a correção, é possível determinar quais consultas ou operações estão solicitando grandes blocos de memória usando o evento estendido Page_allocated . Um script de exemplo tem a seguinte aparência:

    CREATE EVENT SESSION [memory_tracking] ON SERVERADD EVENT sqlos.page_allocated(    ACTION(package0.callstack,sqlos.cpu_id,sqlos.task_address,sqlos.worker_address,sqlserver.database_id,sqlserver.query_hash,sqlserver.request_id,sqlserver.session_id,sqlserver.sql_text)    WHERE ([number_pages]>(1)))ADD TARGET package0.event_file(SET filename=N'E:\Data\MSSQL11.MSSQLSERVER\MSSQL\Log\memory_tracking.xel')WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)GO

    Geralmente, são backups de log e operações de manutenção de índice, que ocorrem com frequência.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×