Sintomas
Considere o seguinte cenário:
- Você tem uma consulta que contém um predicado que envolve uma função escalar parametrizada definida pelo usuário.
- Há várias combinações de valores de parâmetro de entrada que podem produzir o mesmo resultado por essa função definida pelo usuário.
- O SQL Server usa o Novo Estimador de Cardinalidade no qual o modo de compatibilidade do banco de dados é definido como 120.
Nesse cenário, ao executar a consulta, você tem um desempenho de consulta insatisfatório devido a um número estimado incorretamente de linhas para o predicado que envolve a função definida pelo usuário no plano de consulta.
Resolução
Esse problema foi corrigido pela primeira vez na seguinte atualização cumulativa para o SQL Server:
Atualização cumulativa 38 para o SQL Server 2014 Service Pack 1 (Build 50785)
Depois de instalar esse pacote de atualização cumulativa, você precisará habilitar o sinalizador de rastreamento 4199. Para fazer isso, você pode adicionar o parâmetro de inicialização -T4199. Ou você pode usar a dbcc traceon(4199) declaração para uma sessão específica.
Sobre atualizações cumulativas para o SQL Server
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 para o SQL Server:
Atualização cumulativa mais recente do SQL Server 2014
Status
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Referências
Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.