修正:針對使用遞減排序順序包含索引的數據表執行查詢時,可能會產生不正確的結果
徵兆
安裝 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 用來說明軟體更新的術語。