CORREZIONE: i risultati non corretti possono verificarsi quando si eseguono query su tabelle che contengono indici usando un ordinamento decrescente
Sintomi
Dopo aver installato l'aggiornamento cumulativo 4 (CU4) di SQL Server 2022, è possibile che si ricevano risultati non corretti dalle query che soddisfano tutte le condizioni seguenti:
Sono presenti indici che specificano in modo esplicito un ordinamento decrescente. Ecco un esempio:
CREATE NONCLUSTERED INDEX [nci_table_column1] ON [dbo].[table1] (column1 DESC)
Si eseguono query sulle tabelle che contengono questi indici. Queste query specificano un ordinamento che corrisponde all'ordinamento degli indici.
La colonna di ordinamento viene usata nei predicati di query nella
WHERE IN
clausola o in più clausole di uguaglianza. Ecco un esempio:SELECT * FROM [dbo].[table1] WHERE column1 IN (1,2) ORDER BY column1 DESC SELECT * FROM [dbo].[table1] WHERE column1 = 1 or column1 = 2 ORDER BY column1 DESC
Note
La
IN
clausola con un singolo valore non presenta questo problema.
Risoluzione
Questo problema è stato risolto nell'aggiornamento cumulativo seguente per SQL Server:
Aggiornamento cumulativo 5 per SQL Server 2022
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e le correzioni di sicurezza presenti nella build precedente. È consigliabile installare la build più recente per la versione di SQL Server:
Aggiornamento cumulativo più recente per SQL Server 2022
Soluzione alternativa
Per risolvere questo problema, disinstallare SQL Server 2022 CU4 o abilitare il flag di traccia (TF) 13166 e quindi eseguire DBCC FREEPROCCACHE
.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia usata da Microsoft per descrivere gli aggiornamenti software.