KB3042370 - แบบจําลองรอง AlwaysOn หยุดทํางานหรือทําให้เกิดข้อผิดพลาด 3961 เมื่อฐานข้อมูล AlwaysOn มี CLR UDT ใน SQL Server 2014

นำไปใช้กับ
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

อาการ

ลองทำตามสถานการณ์ต่อไปนี้:

  • คุณเปิดใช้งานคุณลักษณะกลุ่มให้บริการ AlwaysOn ใน Microsoft SQL Server 2014
  • ฐานข้อมูล AlwaysOn มีชนิดข้อมูลที่กําหนดโดยผู้ใช้ (UDT) ของรันไทม์ภาษาทั่วไป (CLR) นอกจากนี้ CLR UDT เดียวกันมีอยู่ในฐานข้อมูลมากกว่าหนึ่งฐานข้อมูล
  • คุณเรียกใช้คิวรีที่เกี่ยวข้องกับหลายฐานข้อมูลที่มี CLR UDT

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

หมายเหตุ

2015-02-17 13:07:36.85 spid27s กําลังปิดฐานข้อมูลเนื่องจากข้อยกเว้น 2905 ระหว่างการประมวลผล VLR ที่ยอมรับ

2015-02-17 13:07:36.85 ข้อผิดพลาด spid27s: 3449, ความรุนแรง: 21, สถานะ: 1.2015-02-17 13:07:36.85 spid27s SQL Server ต้องปิดเพื่อกู้คืนฐานข้อมูล (ID ฐานข้อมูล 2) ฐานข้อมูลไม่ว่าจะเป็นฐานข้อมูลผู้ใช้ที่ไม่สามารถปิดการทํางานได้ หรือเป็นฐานข้อมูลระบบ รีสตาร์ต SQL Server ถ้าฐานข้อมูลไม่สามารถกู้คืนได้หลังจากเริ่มต้นการทํางานใหม่อีกครั้ง ให้ซ่อมแซมหรือคืนค่าฐานข้อมูล

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

หมายเหตุ

msg 3961, ระดับ 16, สถานะ 1, บรรทัด 3
ทรานแซคชันการแยกสแนปช็อตล้มเหลวในฐานข้อมูล '<DatabaseName>' เนื่องจากวัตถุที่เข้าถึงโดยคําสั่งถูกปรับเปลี่ยนโดยคําสั่ง DDL ในทรานแซคชันพร้อมกันอื่นตั้งแต่เริ่มต้นทรานแซคชันนี้ จึงไม่ได้รับอนุญาต เนื่องจากเมตาดาต้าไม่มีการกําหนดเวอร์ชัน การอัปเดตข้อมูลเมตาพร้อมกันอาจนําไปสู่ความไม่สอดคล้องกันได้หากผสมกับการแยกสแนปช็อต

        
      

การแก้ปัญหา

ข้อมูลการอัปเดตสะสม

ปัญหานี้ได้รับการแก้ไขครั้งแรกในการอัปเดตแบบสะสมของ SQL Server ต่อไปนี้

ข้อแนะนํา: ติดตั้งการอัปเดตสะสมล่าสุดสําหรับ SQL Server

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

      

อัปเดตข้อมูลเมื่อต้องการแก้ไขปัญหานี้ ให้ใช้การอัปเดต KB 3043788: มีแพคเกจการอัปเดตการแก้ไขด่วนตามความต้องการสําหรับ SQL Server 2014

สถานะ

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