修正:當您使用遞減排序順序對包含索引的數據表執行查詢時,可能會發生不正確的結果
徵狀
安裝 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
注意事項
具有單一值的 子
IN
句沒有這個問題。
解決方案
下列 SQL Server 累積更新已修正此問題:
關於 SQL Server 的累積更新
SQL Server 的每個新累積更新都包含先前組建中的所有 Hotfix 和安全性修正。 建議您為版本的 SQL Server 安裝最新的組建:
因應措施
若要解決此問題,請卸載 SQL Server 2022 CU4 或啟用追蹤旗標 (TF) 13166,然後執行 DBCC FREEPROCCACHE
。
狀態
Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。
參考
瞭解 Microsoft 用來描述軟體更新的 術語 。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應