POPRAWKA: Podczas uruchamiania zapytań w tabelach zawierających indeksy przy użyciu malejącej kolejności sortowania mogą wystąpić nieprawidłowe wyniki

Objawy

Po zainstalowaniu aktualizacji zbiorczej 4 (CU4) programu SQL Server 2022 możesz otrzymać nieprawidłowe wyniki z zapytań, które spełniają wszystkie następujące warunki:

  1. Istnieją indeksy, które jawnie określają malejącą kolejność sortowania. Oto przykład:

    CREATE NONCLUSTERED INDEX [nci_table_column1] ON [dbo].[table1] (column1 DESC)
    
  2. Zapytania są uruchamiane w tabelach zawierających te indeksy. Te zapytania określają kolejność sortowania zgodną z kolejnością sortowania indeksów.

  3. Kolumna sortowania jest używana w orzeczeniach zapytań w WHERE IN klauzuli lub wielu klauzulach równości. Oto przykład:

    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
    

    Uwaga

    Ten IN problem nie występuje w przypadku klauzuli zawierającej pojedynczą wartość.

Rozwiązanie

Ten problem został rozwiązany w następującej aktualizacji zbiorczej programu SQL Server:

Zbiorcza aktualizacja 5 dla programu SQL Server 2022

Informacje o aktualizacjach zbiorczych dla programu SQL Server

Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń z poprzedniej kompilacji. Zalecamy zainstalowanie najnowszej kompilacji dla używanej wersji programu SQL Server:

Najnowsza aktualizacja zbiorcza dla programu SQL Server 2022

Obejście

Aby obejść ten problem, odinstaluj program SQL Server 2022 CU4 lub włącz flagę śledzenia (TF) 13166, a następnie uruchom DBCC FREEPROCCACHE.

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Źródła informacji

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.