Sintomas
Suponha que você execute uma consulta envolvendo uma junção ou agregação em uma coluna coberta por uma única coluna e várias colunas Estatística (na qual esta coluna não é a coluna à esquerda). Se você estiver usando o estimador de cardinalidade padrão (CE) no SQL Server 2016, ele pode subestimar número de linhas distintas. Isso leva a um plano de execução de consulta subideal (por exemplo: baixa estimativa pode causar uma concessão de memória insuficiente para um operador de hash, o que faz com que a consulta seja despejada para tempdb).
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Resolução
Esse problema foi corrigido na seguinte atualização cumulativa do SQL Server:
Observação Para que essa correção entre em vigor, você precisa habilitar os hotfixes do otimizador de consulta usando o sinalizador de rastreamento (TF) 4199 ou a opção de configuração com escopo de banco de dados ou dica de consulta com escopo correspondente.
Sobre atualizações cumulativas do 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 do SQL Server:
Solução alternativa
Esse problema pode ser corrigido adicionando-se a seguinte dica de consulta:
USAR DICA (' FORCE_LEGACY_CARDINALITY_ESTIMATION ')
Referências
Saiba mais sobre a terminologiaque a Microsoft usa para descrever atualizações de software.