Sintomas
Considere o seguinte cenário:
-
Você tem uma consulta que usa um predicado de não-igualdade em uma coluna GUID exclusiva no SQL Server 2014 ou 2016.
-
As estatísticas são atualizadas usando-se a amostragem padrão. Ou, novas linhas são inseridas na tabela após a última atualização de estatísticas.
-
O SQL Server usa o novo estimador de cardinalidade no qual o modo de compatibilidade de banco de dados é definido como 120.
-
Os valores de GUID são distribuídos não uniformemente na tabela.
Nesse cenário, quando você executa a consulta, pode ocorrer um desempenho ruim devido ao número de linhas estimado incorretamente para o predicado no plano de consulta.
Resolução
Este problema foi corrigido primeiro na seguinte atualização cumulativa do SQL Server:
Atualização cumulativa 6 para SQL server 2014 Service Pack 1 atualização cumulativa 1 para SQL Server 2016Depois de instalar esse pacote de atualização cumulativa, você precisa habilitar o sinalizador de rastreamento 4199. Para fazer isso, você pode adicionar o parâmetro de inicialização -T4199 . Ou, você pode usar a instrução DBCC Traceing (4199) para uma sessão específica.
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Atualização cumulativa mais recente do SQL Server 2014Atualização cumulativa mais recente do SQL Server 2016
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Referências
Saiba mais sobre a terminologia usada pela Microsoft para descrever atualizações de software.