KB3171555 - Adiciona o sinalizador de rastreio 9358 para desativar operações de ordenação em modo de lote numa consulta paralela complexa no SQL Server 2016

Aplica-se A
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)

Sintomas

As ordenações em modo de lote foram introduzidas no SQL Server 2016 no nível de compatibilidade 130.  Se um plano de execução de consulta contiver ordenações em modo de lote paralelo em conjunto com operadores paralelos diretamente a montante, poderá encontrar um desempenho degradado em comparação com os equivalentes do plano de ordenação em modo de linha.

Isso ocorre devido a uma classificação em lote paralelo emitindo dados totalmente classificados através de um único thread para o operador paralelo upstream (por exemplo, um operador de junção de mesclagem paralela).  A degradação de desempenho ocorre quando o operador paralelo upstream usa processamento de thread único devido ao operador de classificação de modo de lote de thread único de entrada.

Esta atualização introduz o sinalizador de rastreamento 9358 para desabilitar operações de classificação em modo de lote na maioria dos operadores paralelos, incluindo associações de mesclagem, loops aninhados e agregações de fluxo. Uma exceção é um operador de agregação do Windows em modo de lote acima do operador de classificação, que continuará a permitir uma operação de classificação em modo de lote abaixo deles, à medida que os operadores de agregação do Windows são otimizados para ler dados de classificação em lote.

Observação As operações de classificação em modo de lote também serão desabilitadas se qualquer uma das seguintes condições for verdadeira

  • O sinalizador de rastreio 4199 está ativado.
  • A opção QUERY_OPTIMIZER_HOTFIXES base de dados está ativada (a partir do SQL Server 2016 CU6).
  • É utilizada a sugestão de consulta ENABLE_QUERY_OPTIMIZER_HOTFIXES (a partir do SQL Server 2016 Service Pack 1 (SP1) CU4).

Resolução

O problema foi corrigido na seguinte atualização cumulativa do SQL Server:

Recomendação: Instale a atualização cumulativa mais recente 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 a atualização cumulativa anterior. Recomendamos que transfira e instale as atualizações cumulativas mais recentes para SQL Server:

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Referências

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