Sintomi
Una violazione o asserzione di accesso si verifica quando si utilizza la visualizzazione di gestione dinamica (DMV) sys.dm_exec_query_statistics_xml. Questo problema è stato risolto per la prima volta nell'aggiornamento cumulativo 26 per Microsoft SQL Server 2017 e nell'aggiornamento cumulativo 12 per Microsoft SQL Server 2019. Come parte della correzione, il valore del parametro di runtime (ParameterRuntimeValue) viene rimosso dal codice XML Showplan quando viene richiamata la sys.dm_exec_query_statistics_xml DMV.
Quando si usa la sys.dm_exec_query_statistics_xml DMV per risolvere i problemi relativi alle query a esecuzione prolungata, a volte è necessario ottenere il valore ParameterRuntimeValue per una specifica stored procedure o query prima del completamento della query. Abbiamo aggiunto un nuovo flag di traccia globale (TF) 2446 in questo hotfix. In questo modo viene abilitata la raccolta del valore del parametro di runtime al costo dell'introduzione di un sovraccarico aggiuntivo.
Avviso: TF 2446 non è progettato per essere abilitato continuamente in un ambiente di produzione, ma solo per scopi di risoluzione dei problemi limitati nel tempo. L'uso di questo flag di traccia introduce un sovraccarico aggiuntivo e possibilmente significativo di CPU e memoria perché creeremo un frammento di Showplan XML utilizzando le informazioni sui parametri di runtime, se il DMV sys.dm_exec_query_statistics_xml viene chiamato o meno.
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e le correzioni per la sicurezza inclusi nella build precedente. È consigliabile installare la build più recente per la versione di SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.