Sintomi
Considerare lo scenario descritto di seguito:
-
Si prova a eseguire una query usando la stima della cardinalità predefinita mentre è abilitata la modifica dell'istogramma.
-
La query include espressioni in una colonna utilizzata in uno dei predicati.
In questo scenario si verifica una violazione di accesso. Inoltre, viene visualizzato il messaggio di errore seguente:
Msg 596, livello 21, stato 1, riga lineNumber Non è possibile continuare l'esecuzione perché la sessione è nello stato Kill. Msg 0, livello 20, stato 0, riga lineNumber Si è verificato un grave errore nel comando corrente. I risultati, se presenti, devono essere eliminati.
Nota La modifica dell'istogramma può essere abilitata usando l'opzione di query use hint (' ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS ') o il flag di traccia 4139.
Risoluzione
Questo problema è stato risolto negli aggiornamenti seguenti per SQL Server:
Aggiornamento cumulativo 8 per SQL Server 2017
Aggiornamento cumulativo 5 per SQL Server 2016 Service Pack 2
Informazioni sulle build di SQL Server
Ogni nuova build per SQL Server contiene tutti gli aggiornamenti rapidi e le correzioni di sicurezza presenti 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
DBCC TRACEON-flag di traccia (Transact-SQL)
Informazioni sulla terminologia standard utilizzata da Microsoft per descrivere gli aggiornamenti software.