OPRAVA: Při spuštění dotazů na tabulky, které obsahují indexy používající sestupné pořadí řazení, může dojít k nesprávným výsledkům

Příznaky

Po instalaci kumulativní aktualizace 4 (CU4) systému SQL Server 2022 se můžou zobrazit nesprávné výsledky z dotazů, které splňují všechny následující podmínky:

  1. Máte indexy, které explicitně určují sestupné pořadí řazení. Tady je příklad:

    CREATE NONCLUSTERED INDEX [nci_table_column1] ON [dbo].[table1] (column1 DESC)
    
  2. Spouštíte dotazy pro tabulky, které tyto indexy obsahují. Tyto dotazy určují pořadí řazení, které odpovídá pořadí řazení indexů.

  3. Sloupec řazení se používá v predikátech dotazu v klauzuli WHERE IN nebo více klauzulích rovnosti. Tady je příklad:

    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
    

    Poznámka

    Klauzule IN , která má jedinou hodnotu, tento problém nemá.

Řešení

Tento problém je opravený v následující kumulativní aktualizaci pro SQL Server:

Kumulativní aktualizace 5 pro SQL Server 2022

Informace o kumulativních aktualizacích pro SQL Server

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a opravy zabezpečení, které byly v předchozím buildu. Doporučujeme nainstalovat nejnovější build pro vaši verzi SQL Server:

Nejnovější kumulativní aktualizace pro SQL Server 2022

Alternativní řešení

Pokud chcete tento problém obejít, odinstalujte SQL Server 2022 CU4 nebo povolte příznak trasování (TF) 13166 a poté spusťte DBCC FREEPROCCACHE.

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Reference

Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.