修正: 降順の並べ替え順序を使用してインデックスを含むテーブルに対してクエリを実行すると、正しくない結果が発生する可能性があります。
現象
SQL Server 2022 累積的な更新プログラム 4 (CU4) をインストールした後、次のすべての条件を満たすクエリから正しくない結果を受け取る可能性があります。
降順の並べ替え順序を明示的に指定するインデックスがあります。 次に例を示します。
CREATE NONCLUSTERED INDEX [nci_table_column1] ON [dbo].[table1] (column1 DESC)
これらのインデックスを含むテーブルに対してクエリを実行します。 これらのクエリでは、インデックスの並べ替え順序に一致する並べ替え順序を指定します。
並べ替え列は、
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
Note
1 つの値を持つ
IN
句には、この問題はありません。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで修正されています。
SQL Server 2022 の累積的な更新プログラム 5
SQL Server の累積的な更新プログラムについて
SQL Server の各新しい累積的な更新プログラムには、以前のビルドにあったすべての修正プログラムとセキュリティ修正プログラムが含まれています。 SQL Server のバージョンに合わせて最新のビルドをインストールすることをお勧めします。
SQL Server 2022 の最新の累積的な更新プログラム
回避策
この問題を回避するには、SQL Server 2022 CU4 をアンインストールするか、トレース フラグ (TF) 13166 を有効にしてから、 DBCC FREEPROCCACHE
実行します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。