Sintomas
Tenha em conta o seguinte cenário:
- Pode tentar executar uma consulta utilizando a Estimativa de Cardinalidade predefinida quando a alteração de histograma está ativada.
- A consulta inclui expressões numa coluna utilizada num dos predicados.
Nesse cenário, ocorre uma violação de acesso. Além disso, recebe a seguinte mensagem de erro:
Nota
Msg 596, Nível 21, Estado 1, Número de Linha
Não é possível continuar a execução porque a sessão está no estado de matar.
Msg 0, Nível 20, Estado 0, Número de Linha
Ocorreu um erro grave no comando atual. Os resultados, se houver, devem ser descartados.
Observação A alteração do histograma pode ser ativada utilizando a opção de consulta USE HINT('ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS') ou o sinalizador de rastreio 4139.
Resolução
Esse problema foi corrigido nas seguintes atualizações para SQL Server:
Atualização cumulativa 8 para SQL Server 2017
Atualização cumulativa 5 para SQL Server 2016 Service Pack 2
Acerca de SQL Server compilações
Cada nova compilação para SQL Server contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que instale a compilação mais recente para a sua versão do SQL Server:
A última compilação do 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
DBCC TRACEON - Sinalizadores de rastreamento (Transact-SQL)
Saiba mais sobre a terminologia padrão que a Microsoft utiliza para descrever as atualizações de software.