อาการ
สมมติว่า คุณใช้กลุ่มความพร้อมใช้งานสูงเสมอ (AG) เป็นแบบพรีวิวรอง เมื่อคุณพยายามอัปเกรด Microsoft SQL Server 2016 เป็น Service Pack 2 (SP2) Cumulative Update 11 (CU11) หรือเวอร์ชันที่ใหม่กว่า สคริปต์การอัปเกรดล้มเหลว และคุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
DateTime spidSpidIdการอัปเกรดการตั้งค่าการสมัครใช้งานและวัตถุของระบบในฐานข้อมูล [DatabaseName]
DateTime spidSpidId การอัปเดตฐานข้อมูล "DatabaseName" ล้มเหลวเนื่องจากฐานข้อมูลเป็นแบบอ่านอย่างเดียว
DateTime spidSpidId ข้อผิดพลาดขณะsp_vupgrade_replicationเรียกใช้
สาเหตุ
เมื่อการอัปเกรดถูกประมวลผลบนแบบทุติยภูมิของ ag SQL จะมีการแข่งขันระหว่างการกู้คืนฐานข้อมูลและการปฏิบัติการสคริปต์การอัปเกรด ดังนั้น เคอร์เซอร์ที่คุณใช้ ภายในsp_vupgrade_replicationไม่สามารถกรองฐานข้อมูลแบบอ่านอย่างเดียวออกได้อย่างถูกต้อง For a short time, the secondary databases in recovery phase are included in the list of editable database. ดังนั้น เมื่อคุณพยายามอัปเดตฐานข้อมูลเหล่านี้ ข้อยกเว้นจะถูกส่งกลับเนื่องจากฐานข้อมูลเป็นแบบอ่านอย่างเดียว
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตสะสมต่อไปนี้SQL Server:
เกี่ยวกับการอัปเดตสะสมSQL Server:
แต่ละการอัปเดตสะสมใหม่SQL Serverมีโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตสะสมก่อนหน้า ตรวจสอบการอัปเดตสะสมล่าสุดSQL Server:
อ้างอิง
เรียนรู้เกี่ยวกับศัพท์เฉพาะที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์