KB4089473 - Melhor solução de problemas de deadlocks de paralelismo intraconsulta no SQL Server 2017 e 2016

Aplica-se a
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2016 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Resumo

Esta atualização do SQL Server melhora a solução de problemas de deadlocks relacionados ao paralelismo (exchange) adicionando os seguintes aprimoramentos:

  • O exchange_spillxEvent relata a quantidade de dados que os operadores de paralelismo despejam por cada thread, no nome do campo de evento worktable_physical_writes. Cada thread pode relatar um exchange_spill xEvent várias vezes.

  • As DMVs sys.dm_exec_query_stats, sys.dm_exec_procedure_stats e sys.dm_exec_trigger_stats agora incluem os dados despejados pelos operadores de paralelismo, nas colunas total_spills, last_spills, max_spills e min_spills.

  • Um aviso showplan é relatado em tempo de execução se houver derramamentos de paralelismo. Esse aviso é renderizado em um atributo xml showplan (<ExchangeSpillDetails WritesToTempDb="spill_amount" />).

  • O gráfico de deadlock XML foi aprimorado para cenários de deadlock de paralelismo. Mais atributos são adicionados ao recurso exchangeEvent em:

    • waiterType–Consumer, Producer, Coordinator.
    • tid–unique para cada thread dentro de um plano paralelo.
    • ownerActivity: o recurso que os proprietários fizeram anteriormente. Pode ser "receivedData", "sentData", "notYetOpened" ou "opened".
    • waiterActivity: o que o solicitante do recurso está tentando fazer. Pode ser "tryToSendData", "needMoreData", "waitForAllConsumersToBeReady", "waitForAllOwnersToOpen" ou "waitForAllownersToClose".
    • mesclagem – se o garçom está participando da mesclagem de dados ou não.
    • despejando – se o garçom está despejando dados ou não.
    • waitingToClose – se o garçom está esperando o consumidor fechar o tubo.
  • O gráfico de deadlock XML foi aprimorado para deadlocks envolvendo operadores de modo de lote. Mais atributos são adicionados ao recurso SyncPoint em:

    • logicalOperatorType–tipo de operador lógico que corresponde ao do showplan xml.

    • physicalOperatorType–tipo de operador físico que corresponde ao do showplan xml.

    • WaitType e synchronizingAt — dois atributos podem identificar coletivamente o ponto em que os garçons e os proprietários sincronizam.

      Observações

      • Os valores dos atributos WaitType e synchronizingAt são internos. Mas eles podem ser usados para ajudar o Suporte da Microsoft a solucionar um problema.
      • O atributo synchronizingAt é adicionado para operadores de classificação, junção de hash e agregação de hash.
    • ownerActivity–sempre "NotYetArrived".

    • waiterActivity–sempre "Chegou".

Mais informações

Esta atualização está incluída na Atualização Cumulativa 5 para o SQL Server 2017.

Informações sobre o service pack do SQL Server 2016

Esta atualização é corrigida no seguinte service pack para o SQL Server:

Service Pack 2 para SQL Server 2016

Sobre compilações do SQL Server 2017

Cada nova compilação do SQL Server 2017 contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que você instale o build mais recente para o SQL Server 2017.

Sobre service packs do SQL Server:

Os service packs são cumulativos. Cada novo service pack contém todas as correções dos service packs anteriores, juntamente com as novas correções. Nossa recomendação é aplicar o service pack mais recente e a atualização cumulativa mais recente para esse service pack. Não é necessário instalar um service pack anterior antes de instalar o service pack mais recente. Use a Tabela 1 do artigo a seguir para encontrar mais informações sobre o service pack mais recente e a atualização cumulativa mais recente.

Como determinar a versão, a edição e o nível de atualização do SQL Server e seus componentes

Referências

Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.