Sintomas
Tenha em conta o seguinte cenário:
- Utilize uma configuração de estimativa de cardinalidade (CE) que corresponde ao nível de compatibilidade da base de dados 120 ou a um nível posterior para o seu sistema Microsoft SQL Server 2016 e 2017.
- Executar uma consulta que contém um predicado de pesquisa.
- A consulta procura valores inferiores ou iguais a qualquer número inferior ao valor mínimo de RANGE_HI_KEY armazenado no objeto de estatística. Em alternativa, a consulta procura valores superiores ao valor máximo de RANGE_HI_KEY para as mesmas estatísticas.
Nesse cenário, o otimizador de consulta superestima o número de linhas. Isto pode causar uma escolha de plano de consulta inferior à ideal e um desempenho fraco.
Resolução
A correção para este problema está incluída nas seguintes atualizações cumulativas para SQL Server:
Atualização cumulativa 6 para SQL Server 2017
Atualização cumulativa 8 para SQL Server 2016 SP1
Atualização cumulativa 2 para SQL Server 2016
Nota Depois de instalar esta actualização, tem de activar o sinalizador de rastreio 4199 para activar esta correcção. Para habilitar o sinalizador de rastreamento 4199, consulte o tópico Sinalizadores de rastreamento (Transact-SQL) no site Microsoft Developer Network (MSDN).
Acerca das atualizações cumulativas para 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. Consulte as atualizações cumulativas mais recentes para SQL Server:
Atualização cumulativa mais recente para o SQL Server 2017
Atualização cumulativa mais recente para o SQL Server 2016
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.