Sintomas
No Microsoft SQL Server 2016 ou SQL Server 2017 no Windows, poderá observar uma diminuição no desempenho nas seguintes condições:
- Quando executa múltiplas operações INSERTSELECT simultâneas em tabelas temporárias.
- Quando você consulta sys.dm_os_waiting_tasks. Nessa situação, a coluna resource_description mostra esperas nas páginas de espaço livre de página (PFS) para várias solicitações.
Causa
O paralelismo INSERT para operações INSERTSELECT foi introduzido no SQL Server 2016 ou SQL Server 2017 no Windows. INSERTs em tabelas temporárias locais (somente aquelas identificadas pelo prefixo # e não tabelas temporárias globais identificadas por ## prefixos) agora são ativadas automaticamente para paralelismo sem ter que designar a dica TABLOCK que as tabelas não temporárias exigem.
Embora o paralelismo INSERT normalmente melhore o desempenho da consulta, se houver um número significativo de operações INSERTSELECT de tabela temporárias simultâneas, a contenção pode ser significativa em páginas PFS. Em alguns casos, isso pode causar uma diminuição geral no desempenho.
Resolução
Este problema foi corrigido pela primeira vez no SQL Server 2016 Service Pack 1. Depois de aplicar o SQL Server 2016 SP1, INSERÇÕES PARALELAS em INSERT.. A opção SELECT para tabelas temporárias locais está desativada por predefinição, o que reduz a contenção na página PFS e melhora o desempenho geral da carga de trabalho simultânea. Se desejarem INSERTs paralelos a tabelas temporárias locais, os usuários devem usar a dica TABLOCK ao inserir na tabela temporária local.
Se tiver ativado o sinalizador de Rastreio 9495 mencionado na secção de solução alternativa, recomenda-se desativar e remover o sinalizador de rastreio depois de aplicar o SQL Server 2016 SP1, uma vez que o sinalizador de Rastreio 9495 desativa a inserção paralela, independentemente da sugestão TABLOCK.
Informações sobre a atualização cumulativa
Este problema foi corrigido na seguinte atualização cumulativa do SQL Server 2016:
Sobre atualizações cumulativas para o SQL Server