Sintomas
Considere o seguinte cenário:
-
Você tem uma consulta que usa um predicado de não igualdade numa coluna GUID única no SQL Server 2014 ou 2016.
-
As estatísticas são atualizadas utilizando amostras padrão. Ou, novas linhas são inseridas na tabela após a última atualização estatística.
-
O SQL Server utiliza o Novo Estimador cardinalício no qual o modo de compatibilidade da base de dados está definido para 120.
-
Os valores GUID são distribuídos não uniformemente em toda a tabela.
Neste cenário, quando executar a consulta, poderá experimentar um mau desempenho devido ao número de linhas incorretamente estimadas para o predicado no plano de consulta.
Resolução
Este problema foi corrigido pela primeira vez na seguinte atualização cumulativa para o SQL Server:
Atualização Cumulativa 6 para SQL Server 2014 Service Pack 1 Atualização Cumulativa 1 para SQL Server 2016Depois de instalar este pacote de atualização cumulativa, tem de ativar o traço da bandeira 4199. Para isso, pode adicionar o parâmetro de arranque -T4199. Ou, pode usar a declaração de vestígios dbcc(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 que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Última atualização cumulativa para SQL Server 2014Última atualização cumulativa para SQL Server 2016
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Saiba mais sobre a terminologia que a Microsoft utiliza para descrever atualizações de software.