共用方式為


修正:針對使用遞減排序順序包含索引的數據表執行查詢時,可能會產生不正確的結果

徵兆

安裝 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 用來說明軟體更新的術語