修正: 降順の並べ替え順序を使用してインデックスを含むテーブルに対してクエリを実行すると、正しくない結果が発生する可能性があります

現象

SQL Server 2022 累積的な更新プログラム 4 (CU4) をインストールした後、次のすべての条件を満たすクエリから正しくない結果を受け取る可能性があります。

  1. 降順の並べ替え順序を明示的に指定するインデックスがあります。 次に例を示します:

    CREATE NONCLUSTERED INDEX [nci_table_column1] ON [dbo].[table1] (column1 DESC)
    
  2. これらのインデックスを含むテーブルに対してクエリを実行します。 これらのクエリでは、インデックスの並べ替え順序に一致する並べ替え順序を指定します。

  3. 並べ替え列は、句または複数の WHERE IN 等値句のクエリ述語で使用されます。 次に例を示します:

    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
    

    注:

    IN 1 つの値を持つ句には、この問題はありません。

解決方法

この問題は、SQL Serverの次の累積的な更新プログラムで修正されています。

SQL Server 2022 の累積的な更新プログラム 5

SQL Serverの累積的な更新プログラムについて

SQL Serverの各新しい累積的な更新プログラムには、以前のビルドにあったすべての修正プログラムとセキュリティ修正プログラムが含まれています。 SQL Serverのバージョンの最新のビルドをインストールすることをお勧めします。

SQL Server 2022 の最新の累積的な更新プログラム

回避策

この問題を回避するには、SQL Server 2022 CU4 をアンインストールするか、トレース フラグ (TF) 13166 を有効にしてから を実行DBCC FREEPROCCACHEします。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

関連情報

Microsoft がソフトウェア更新プログラムの説明に使用する 用語 について説明します。