修正:當您使用遞減排序次序對包含索引的資料表執行查詢時,可能會出現不正確的結果

症狀

安裝 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具有單一值的子句不會發生這個問題。

解決方式

此問題已在下列 SQL Server 累積更新中修正:

SQL Server 2022 的累積更新 5

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含前一個組建中的所有 Hotfix 和安全性修正程式。 建議您安裝適用於您 SQL Server 版本的最新組建:

SQL Server 2022 的最新累積更新

因應措施

若要解決此問題,請解除安裝 SQL Server 2022 CU4 或啟用追蹤旗標 (TF) 13166,然後執行DBCC FREEPROCCACHE。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來說明軟體更新的術語。