การแก้ไข: ผลลัพธ์ที่ไม่ถูกต้องอาจเกิดขึ้นเมื่อคุณเรียกใช้คิวรีกับตารางที่มีดัชนีโดยใช้การเรียงลําดับจากมากไปหาน้อย

อาการ

หลังจากที่คุณติดตั้งการอัปเดตสะสม 4 (CU4) ของ SQL Server 2022 คุณอาจได้รับผลลัพธ์ที่ไม่ถูกต้องจากคิวรีที่ตรงกับเงื่อนไขทั้งหมดต่อไปนี้:

  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 ต่อไปนี้:

การอัปเดตสะสม 5 สําหรับ SQL Server 2022

เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server

การอัปเดตแบบสะสมใหม่สําหรับ SQL Server จะมีโปรแกรมแก้ไขด่วนและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่อยู่ในรุ่นก่อนหน้า เราขอแนะนําให้คุณติดตั้งรุ่นล่าสุดสําหรับ SQL Server รุ่นของคุณ:

การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2022

วิธีแก้ไขปัญหาชั่วคราว

เมื่อต้องการแก้ไขปัญหานี้ ให้ถอนการติดตั้ง SQL Server 2022 CU4 หรือเปิดใช้งานการตั้งค่าสถานะการติดตาม (TF) 13166 แล้วเรียกใช้DBCC FREEPROCCACHE

สถานะ

Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"

การอ้างอิง

เรียนรู้เกี่ยวกับคำศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์