อาการ
สมมติว่าคุณมีแบบจําลองรองแบบอ่านอย่างเดียวใน Microsoft SQL Server 2016 กลุ่มให้บริการ AlwaysOn (AG) เมื่อคุณใช้บทบาทแอปพลิเคชัน SQL Server ในแบบจําลองเป็นครั้งแรก แอปพลิเคชันจะทํางานตามที่คาดไว้ อย่างไรก็ตาม เมื่อคุณใช้อีกครั้ง บทบาทแอปพลิเคชันอาจล้มเหลว และคุณจะได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
หมายเหตุ
msg 3961, ระดับ 16, สถานะ 1, หมายเลขบรรทัด
ทรานแซคชันการแยกสแนปช็อตล้มเหลวในฐานข้อมูล '<DatabaseName>' เนื่องจากวัตถุที่เข้าถึงโดยคําสั่งถูกปรับเปลี่ยนโดยคําสั่ง DDL ในทรานแซคชันพร้อมกันอื่นตั้งแต่เริ่มต้นทรานแซคชันนี้ จึงไม่ได้รับอนุญาต เนื่องจากเมตาดาต้าไม่มีการกําหนดเวอร์ชัน การอัปเดตข้อมูลเมตาพร้อมกันอาจนําไปสู่ความไม่สอดคล้องกันได้หากผสมกับการแยกสแนปช็อต
การแก้ปัญหา
ปัญหานี้ได้รับการแก้ไขในการอัปเดตแบบสะสมต่อไปนี้สําหรับ SQL Server:
การอัปเดตสะสม 4 สําหรับ SQL Server 2016 SP2
เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server
การอัปเดตแบบสะสมใหม่แต่ละรายการสําหรับ SQL Server จะมีโปรแกรมแก้ไขด่วนและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตแบบสะสมครั้งก่อนหน้า ตรวจดูการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:
การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2016
สถานะ
Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"
การอ้างอิง
เรียนรู้เกี่ยวกับ คําศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์