KB2923460-FIX: ล็อก query เมื่อ ALLOW_SNAPSHOT_ISOLATION และ READ_COMMITTED_SNAPSHOT ถูกเปิดใช้งานใน SQL Server ๒๐๑๒

อาการ

พิจารณาสถานการณ์ต่อไปนี้:

  • คุณมีฐานข้อมูล Microsoft SQL Server ๒๐๑๒ที่มีตัวเลือกการ ALLOW_SNAPSHOT_ISOLATION และ READ_COMMITTED_SNAPSHOTเปิดใช้งาน

  • คุณมีคิวรีที่พร้อมกันอย่างน้อยสามแบบที่เรียกใช้กับตารางเดียวกัน

  • คิวรีใช้คำแนะนำคิวรี(TABLOCK, UPDLOCK)

  • แต่ละคิวรีจะถูกตัดในคำสั่งเริ่มต้นที่ชัดเจนแต่จะไม่มีการดำเนินการคำสั่งทรานทราน

เมื่อคิวรีแรกมีความมุ่งมั่นในสถานการณ์สมมตินี้แบบสอบถามอื่นๆจะการชะงักงันอย่างใดอย่างหนึ่ง เมื่อ READ_COMMITTED_SNAPSHOT เปิดใช้งานร่วมกับคำแนะนำแบบสอบถาม TABLOCK และ UPDLOCK เซสชันจะใช้การล็อก IX บนตาราง การชะงักงันเกิดขึ้นเมื่อเซสชันพร้อมกันสองเซสชันพยายามแปลงตัวล็อก IX เป็น X ล็อกในเวลาเดียวกัน ถ้า READ_COMMITTED_SNAPSHOT ปิดใช้งานเซสชันจะได้รับการล็อกหกตัวที่จะไม่ล็อกตายเมื่อพวกเขาจะถูกแปลงเป็น X ล็อก โปรแกรมแก้ไขด่วนที่เน้นลักษณะการทำงานนี้โดยการอนุญาตให้ LCK_M_SCH_S ล็อกแทนที่จะเป็นตัวล็อก IX เมื่อREAD_COMMITTED_SNAPSHOTใช้กับคำแนะนำTABLOCKและUPDLOCK บันทึกย่อ นอกจากนี้ปัญหานี้เกิดขึ้นใน Microsoft SQL Server ๒๐๐๘ R2 โปรแกรมแก้ไขด่วนสำหรับ SQL Server ๒๐๐๘ R2 จะได้รับการเผยแพร่เร็วๆนี้

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

สถานะ

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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Microsoft Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×