อาการ
เมื่อคุณเรียกใช้คำสั่งการ อัปเดตที่ ซับซ้อนพร้อมกับคำแนะนำ NOLOCK กับตารางใน Microsoft SQL Server ๒๐๐๘, SQL Server ๒๐๑๒, sql SERVER ๒๐๐๘ R2 หรือ SQL Server ๒๐๑๔การเสียหายของดัชนีกลุ่มอาจเกิดขึ้น นอกจากนี้ข้อความแสดงข้อผิดพลาดต่อไปนี้อาจถูกบันทึกในแฟ้มบันทึกข้อผิดพลาด SQL Server:
วันที่<><เวลา> Spid # ข้อผิดพลาด: ๘๖๔๖ความรุนแรง:21 สถานะ: 1. <วันที่><เวลา> spid # ไม่สามารถค้นหารายการดัชนีในดัชนี ID 3 ของตาราง๒๑๐๒๔๐๒๖๕๙ในฐานข้อมูล ' <ชื่อ> ' ดัชนีที่ระบุเสียหายหรือมีปัญหาเกิดขึ้นกับแผนการอัปเดตปัจจุบัน เรียกใช้ DBCC CHECKDB หรือ DBCC CHECKTABLE ถ้าปัญหายังคงมีอยู่ให้ติดต่อฝ่ายสนับสนุนผลิตภัณฑ์ <วันที่><> spid # การใช้ ' dbghelp ' เวอร์ชัน ' 4.0.5 ' <วันที่><เวลา> spid # *** การถ่ายโอนข้อมูล-Spid = 0, EC = 0x0000000BD70624C0<วันที่><เวลา> spid # *** การถ่ายโอนข้อมูลที่ถูกส่งไปยัง Y:\MSSQL\MSSQL10. วันที่ MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt><2 วันที่><> spid # ***** *** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** *** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *** <วันที่><> spid # * <วันที่><เวลา> SPID # * เริ่มการถ่ายโอนข้อมูลกองซ้อน: <วันที่><เวลา> spid # Time* <วันที่><เวลา> Spid Timeที่<><Spid # *>วันที่<เวลา>< spid # * CPerIndexMetaQS: ErrorAbort-ความเสียหายของดัชนี><0วันที่><เวลา> spid # *
บันทึกย่อ คุณสามารถนำคำแนะนำ NOLOCK ไปใช้กับตารางต้นฉบับในคำสั่งได้ อย่างไรก็ตามคุณไม่สามารถนำคำแนะนำ NOLOCK ไปใช้กับตารางเป้าหมายในคำสั่งได้
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากคำแนะนำ NOLOCK ทำให้คิวรีเพื่ออ่านค่าอย่างไม่ถูกต้องในตารางเมื่อคิวรีอ่านค่าเดียวกันหลายครั้ง
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมของ SQL Server ครั้งแรก
การอัปเดตที่สะสม1สำหรับ SQL Server ๒๐๑๔ /en-us/help/2931693
การอัปเดตที่สะสม11สำหรับ SQL Server ๒๐๑๒ /en-us/help/2908007
การอัปเดตที่สะสม7สำหรับ SQL Server ๒๐๑๒ SP1 /en-us/help/2894115
การอัปเดตที่สะสม13สำหรับ SP3 ของ SQL Server ๒๐๐๘ /en-us/help/2880350
การอัปเดตที่สะสม9สำหรับ SQL Server ๒๐๐๘ R2 SP2 /en-us/help/2887606
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"