นำไปใช้กับ
Microsoft SQL Server Compact 3.5 SQL Server Compact 3.5 Service Pack 2

อาการ

พิจารณาสถานการณ์สมมติต่อไปนี้ใน Microsoft SQL Server แบบกระชับ๓.๕:

  • คุณมีธุรกรรมสองรายการของการแยก serializable

  • ทั้งสองธุรกรรมพยายามดำเนินการการดำเนินการ DML (query/DML) บนตารางเดียวกันที่มีคำแนะนำการล็อก TABLOCK หรือคำแนะนำการล็อก XLOCK

ในสถานการณ์สมมตินี้คุณจะพบกับการชะงักงัน

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากทรานแซคชันทั้งสองจะรออีกหนึ่งรายการสำหรับ XLOCK เมื่อมีการคอมไพล์คิวรีทั้งสองธุรกรรมจะได้รับการล็อกที่ใช้ร่วมกันบนตารางแล้วถือว่าการล็อกสำหรับการแยก serializable เมื่อทั้งสองธุรกรรมพยายามดำเนินการแบบสอบถามบนตารางเดียวกันที่มีคำแนะนำการล็อก XLOCK การดำเนินการทั้งสองธุรกรรมจะรอสำหรับ XLOCK อีกครั้ง ดังนั้นการชะงักงันจะเกิดขึ้นบันทึกย่อ นอกจากนี้ปัญหานี้เกิดขึ้นเมื่อทั้งสองธุรกรรมดำเนินการการดำเนินการ DML บนตารางเดียวกันที่มีคำแนะนำในการล็อก TABLOCK

การแก้ไข

SQL Server Compact ๓.๕ Service Pack 2

การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน2การปรับปรุงที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้สำหรับ SQL Server ๒๐๐๘ R2 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

๒๒๘๙๕๔๗ การอัปเดตที่สะสม2สำหรับ SQL Server Compact ๓.๕ Service Pack 2

สถานะ

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

ข้อมูลเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการชะงักงันแวะไปที่เว็บไซต์ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:

การชะงักสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ DML แวะไปที่เว็บไซต์ MSDN ต่อไปนี้:

DMLสำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำศัพท์ของการปรับปรุงซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

824684 คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายโปรแกรมปรับปรุงซอฟต์แวร์ของ Microsoft

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

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

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ