Um fraco desempenho quando executa o inserir... Seleccione as operações no SQL Server 2016

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 3180087
Sintomas
No Microsoft SQL Server 2016, poderá detectar problemas de desempenho nas seguintes condições:
  • Quando executa vários inserir em simultâneo... Seleccione as operações em tabelas temporárias.
  • Quando efectua uma consulta sys.dm_os_waiting_tasks. Nesta situação, a coluna mostra resource_description aguarda em páginas de espaço livre página (PFS) para vários pedidos.
Causa
Inserir paralelismo para inserir... As operações SELECT foi introduzido no SQL Server 2016. Insere tabelas temporárias locais (apenas os identificados pelo prefixo de # e não globais tabelas temporárias identificadas pelo # # prefixos) arenow activado automaticamente para paralelismo sem ter de designar a dica TABLOCK que necessitem de tabelas não temporário.

Apesar do inserir paralelismo normalmente melhora o desempenho da consulta, se existir um número significativo de concorrente temporário inserção de tabela... Seleccione operações, contenção, pode ser significativa contra páginas PFS. Em alguns casos, isto pode provocar uma diminuição no desempenho geral.
Como contornar
Para contornar este problema, utilize um ou mais dos seguintes métodos:
  • Active o sinalizador de rastreio 9495 desactivar o paralelismo durante a inserção para inserir... Operações SELECT. Este sinalizador de rastreio desactiva paralelismo apenas para a parte de inserir do inserir... Operação SELECT e se aplica a tabelas temporários e de utilizador. Para activar este sinalizador de rastreio, quer utilizá-lo como um parâmetro de arranque (-T9495) ou utilizar DBCC TRACEON(9495,-1) a partir de uma nova sessão. Recomendamos que utilize o parâmetro de arranque para implementações de produção para evitar ter de executar o sinalizador de DBCC TRACEON sempre que o servidor é iniciado.

    Se tiver instalado o SQL Server de 2016 cumulativa actualização 1 (CU1), também pode utilizar este sinalizador de rastreio da seguinte forma:
    • Ao nível da sessão, utilizando DBCC TRACEON(9495)
    • A um nível por declaração, utilizando a opção QUERYTRACEON(9495)
  • Crie um índice na tabela temporária. O problema descrito na secção "Sintomas" ocorre apenas com a tabela temporária pilhas.
  • Usar a dica de consulta MAXDOP 1 para o inserir problemático... Operações SELECT.

Referências

Para mais informações sobre como configurar os sinalizadores de rastreio, consulte a secção "Observações" no seguinte tópico SQL Server Books Online:


Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3180087 - Última Revisão: 08/10/2016 08:49:00 - Revisão: 1.0

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

  • kbmt KB3180087 KbMtpt
Comentários