อาการ
สมมติว่าคุณติดตั้งต้นฉบับที่นำออกใช้และตอนนี้ได้รับการสนับสนุนการปรับปรุงสะสม6สำหรับ SQL Server ๒๐๑๔ Service Pack 1 (SP1) (บิลด์ number 12.0.4449.0, KB ๓๑๔๔๕๒๔) และคุณกำลังเรียกใช้รูปแบบของปริมาณงานที่มีการเลือกแบบขนาน (...) เมื่อใช้NOLOCKภายใต้ระดับการแยกที่ยึดตามค่าเริ่มต้นของ SQL Server หรือระดับที่สูงกว่า ในสถานการณ์นี้คุณอาจพบคิวรีที่มีประสบการณ์การใช้งานบล็อกหรือการชะงักงัน ลวดลายที่มีปัญหาการบล็อกนี้มีดังต่อไปนี้:
-
การดำเนินการ parallelized เลือก (...) ลงในตารางจากคำสั่ง SourceTable และการใช้คำแนะนำ NOLOCK โดยเฉพาะภายใต้ระดับการแยกที่ยึดตามค่าเริ่มต้นของ SQL Server หรือสูงกว่า ในสถานการณ์สมมตินี้แบบสอบถามอื่นๆที่พยายามเข้าถึง SourceTable จะถูกบล็อก
-
ในขณะที่หนึ่งทรานแซคชันจะถือว่าล็อกแบบเอกสิทธิ์เฉพาะบุคคลบนวัตถุ (ตัวอย่างเช่นการอัปเดตตารางที่ต่อเนื่อง) ธุรกรรมอื่นจะดำเนินการ parallelized เลือก (...) จาก SourceTable โดยใช้คำใบ้ NOLOCK ในสถานการณ์สมมตินี้คิวรีแบบใช้เลือกข้อมูลที่พยายามเข้าถึง SourceTable จะถูกบล็อก
เมื่อต้องการค้นหาเวอร์ชันปัจจุบันของ SQL Server ที่คุณติดตั้งอยู่ให้ดูที่วิธีการตรวจสอบเวอร์ชันรุ่นและระดับการอัปเดตของ SQL Server และคอมโพเนนต์ของ Sql server
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมต่อไปนี้สำหรับ SQL Server ก่อน:
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
เรียนรู้เกี่ยวกับคำ ศัพท์เฉพาะ ทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์