Sintomas
Uma violação de acesso ou uma asserção ocorre quando utiliza a Vista de Gestão Dinâmica (DMV) sys.dm_exec_query_statistics_xml. Este problema foi corrigido pela primeira vez na Atualização Cumulativa 26 para o Microsoft SQL Server 2017 e na Atualização Cumulativa 12 para o Microsoft SQL Server 2019. Como parte da correção, o valor do parâmetro de runtime (ParameterRuntimeValue) é removido do XML showplan quando o sys.dm_exec_query_statistics_xml DMV é invocado.
Quando utiliza a sys.dm_exec_query_statistics_xml DMV para resolver problemas de consultas de execução prolongada, por vezes tem de obter o valor ParameterRuntimeValue para um procedimento ou consulta armazenado específico antes de a consulta ser concluída. Adicionámos um novo sinalizador de rastreio global (TF) 2446 nesta correção. Isto permite a recolha do valor do parâmetro de runtime ao custo da introdução de custos adicionais.
Aviso: O TF 2446 não se destina a ser ativado continuamente num ambiente de produção, mas apenas para fins de resolução de problemas com limite de tempo. A utilização deste sinalizador de rastreio irá introduzir uma sobrecarga adicional e possivelmente significativa da CPU e da memória, uma vez que iremos criar um fragmento XML Showplan com as informações do parâmetro de runtime, quer a sys.dm_exec_query_statistics_xml DMV seja ou não chamada.
Resolução
Este problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:
Cada nova atualização cumulativa para SQL Server contém todas as correções 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:
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 as atualizações de software.