PARANDUS: Valed tulemid võivad ilmneda, kui käivitate päringuid tabelites, mis sisaldavad indekseid, kasutades laskuvas sortimisjärjestuses

Sümptomid

Pärast SQL Server 2022 koondvärskenduse 4 (CU4) installimist võite saada vale tulemeid päringutest, mis vastavad kõigile järgmistele tingimustele:

  1. Teil on registre, mis määravad selgelt laskuva sortimisjärjestuse. Üks näide on toodud siin:

    CREATE NONCLUSTERED INDEX [nci_table_column1] ON [dbo].[table1] (column1 DESC)
    
  2. Päringud käivitatakse neid indekseid sisaldavate tabelite suhtes. Need päringud määravad indeksite sortimisjärjestusele vastava sortimisjärjestuse.

  3. Sortimisveergu kasutatakse päringupredikaatides klauslis või mitmes WHERE IN võrdusklauslis. Üks näide on toodud siin:

    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
    

    Märkus.

    IN Ühe väärtusega klauslil pole seda probleemi.

Lahendus

See probleem on lahendatud järgmises SQL Server koondvärskenduses:

Koondvärskendus 5 SQL Server 2022 jaoks

Teave SQL Server koondvärskenduste kohta

Iga uus koondvärskendus SQL Server sisaldab kõiki eelmise järgu kiirparandusi ja turbeparandusi. Soovitame teil installida oma SQL Server versiooni uusima versiooni.

Uusim koondvärskendus SQL Server 2022 jaoks

Ajutine lahendus

Selle probleemi lahendamiseks desinstallige SQL Server 2022 CU4 või lubage jälituslipp (TF) 13166 ja seejärel käivitage DBCC FREEPROCCACHE.

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

Viited

Lisateave Microsofti tarkvaravärskenduste terminoloogia kohta.