Baixo desempenho ao executar INSERT... SELECIONE as operações no SQL Server 2016

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 3180087
Sintomas
No Microsoft SQL Server 2016, você pode enfrentar desempenho reduzido sob as seguintes condições:
  • Quando você executa várias INSERIR simultânea... SELECIONE as operações em tabelas temporárias.
  • Quando você consulta sys.dm_os_waiting_tasks. Nessa situação, mostra a coluna resource_description aguarda em páginas página livre espaço (PFS) para várias solicitações.
Causa
INSERI o paralelismo para INSERIR... SELECIONAR operações foi introduzido no SQL Server 2016. Insere a tabelas temporárias locais (somente aquelas identificadas pelo prefixo # e tabelas temporárias globais não identificadas por # # prefixos) arenow automaticamente habilitado para paralelismo sem precisar designar a dica TABLOCK que exigem tabelas não temporários.

Embora paralelismo INSERIR normalmente melhora o desempenho de consulta, se houver um número significativo de temporário simultâneo INSERIR tabela... SELECIONAR operações contenção pode ser significativa em relação a páginas PFS. Em alguns casos, isso pode causar uma diminuição no desempenho geral.
Resolução
O problema foi corrigido primeiro no SQL Server 2016 Service Pack 1. Após aplicar o SP1 do SQL Server 2016, insere paralela noINSERIR... SELECIONE a tabelas temporárias locais é desabilitado por padrão que reduz a contenção na página PFS e melhora o desempenho geral para carga de trabalho simultânea. Se desejar inserções paralelas a tabelas temporárias locais, usuários devem usar a dica TABLOCK ao inserir na tabela temporária local.

Se você tiver habilitado o sinalizador de rastreamento 9495 mencionado na seção solução alternativa, é recomendável desativar e remover o sinalizador de rastreamento após aplicar o SP1 do SQL Server 2016 como inserir paralela independentemente a dica TABLOCK desativa o sinalizador de rastreamento 9495.

Informações de Cumulativeupdate

Thisissuewas corrigido na atualização cumulativa seguinte para 2016 do SQL Server:Sobre atualizações cumulativas para o 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 as atualização cumulativa anterior. Confira as mais recentes atualizações cumulativas para o SQL Server:

Atualização cumulativa mais recente para o SQL Server 2016


Como Contornar
Para contornar esse problema, use um ou mais dos seguintes métodos:
  • Ative sinalizador de rastreamento 9495 desativar paralelismo durante a inserção para INSERIR... SELECIONAR operações. O sinalizador de traço desativa paralelismo apenas para a parte de INSERIR do menu INSERIR... Operação de SELEÇÃO e se aplica a tabelas temporário e usuário. Para ativar o sinalizador de traço, ou usá-lo como um parâmetro de inicialização (-T9495) ou use DBCC TRACEON(9495,-1) de uma nova sessão. Recomendamos que você use o parâmetro de inicialização para implantações de produção para evitar a necessidade de executar o sinalizador DBCC TRACEON toda vez que o servidor é iniciado.

    Se você instalou SQL Server 2016 atualização cumulativa 1 (CU1), você também pode usar o sinalizador de traço das seguintes maneiras:
    • No nível da sessão, usando DBCC TRACEON(9495)
    • Em um nível por instrução, usando a OPÇÃO QUERYTRACEON(9495)
  • Crie um índice na tabela temporária. O problema descrito na seção "Sintomas" ocorre apenas com tabela temporária pilhas.
  • Use a dica de consulta MAXDOP 1 para INSERIR problemático... SELECIONAR operações.

Referências

Para obter mais informações sobre como configurar os sinalizadores de rastreamento, consulte a seção "Comentários" no SQL Server Books Online tópico a seguir:


Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3180087 - Última Revisão: 11/23/2016 23:45:00 - Revisão: 2.0

Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Standard, Microsoft SQL Server 2016 Enterprise

  • kbmt KB3180087 KbMtpt
Comentários