Condividi tramite


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:

  1. 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)
    
  2. Si eseguono query sulle tabelle che contengono questi indici. Queste query specificano un ordinamento che corrisponde all'ordinamento degli indici.

  3. 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.