อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณกำลังใช้ Microsoft SQL Server ๒๐๑๖, ๒๐๑๔หรือ๒๐๑๒
-
คุณมีฐานข้อมูลที่เป็นส่วนหนึ่งของกลุ่มความพร้อมใช้งานตลอดเวลา
-
บนแบบจำลองหลักคุณจะลดขนาดไฟล์ฐานข้อมูลเพื่อลดขนาดของไฟล์
-
แบบจำลองหลักจะส่งการเปลี่ยนแปลงทั้งหมดที่ถูกบันทึกในบันทึกธุรกรรมไปยังแบบจำลองทุติยภูมิ
-
บนแบบจำลองรองเธรดที่ทำซ้ำจะนำการเปลี่ยนแปลงจากล็อกธุรกรรมไปใช้กับฐานข้อมูลที่เป็นส่วนหนึ่งของกลุ่มความพร้อมใช้งาน
ในสถานการณ์สมมตินี้แบบจำลองถูกหยุดชั่วคราว นอกจากนี้คุณอาจได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับต่อไปนี้:
<ประทับเวลา> ข้อผิดพลาด spid41s: ๓๔๕๖ความรุนแรง:21 สถานะ: 1. <ประทับเวลา> spid41s ไม่สามารถทำซ้ำระเบียนบันทึก (#), สำหรับ ID ของธุรกรรม (#), บนหน้า (#), database ' <dbname> ' (ฐานข้อมูล ID #) หน้า: LSN = (#), หน่วยการจัดสรร = #, type = # บันทึก: OpCode = #, บริบท #, PrevPageLSN: (#) คืนค่าจากสำเนาสำรองของฐานข้อมูลหรือซ่อมแซมฐานข้อมูล <ประทับเวลา> spid41s การเคลื่อนย้ายข้อมูลของกลุ่มความพร้อมใช้งาน AlwaysOn สำหรับฐานข้อมูล ' <dbname> ' ถูกหยุดชั่วคราวเนื่องจากสาเหตุต่อไปนี้ "ระบบ" (ID แหล่งที่มา 2; สตริงข้อต้น: ' SUSPEND_FROM_REDO ') เมื่อต้องการดำเนินการการเคลื่อนไหวข้อมูลต่อในฐานข้อมูลต่อไปคุณจะต้องดำเนินการต่อฐานข้อมูลด้วยตนเอง สำหรับข้อมูลเกี่ยวกับวิธีการดำเนินการฐานข้อมูลที่พร้อมใช้งานให้ดูที่ SQL Server Books Online <ประทับเวลา> ข้อผิดพลาด spid41s ๓๓๑๓: ความรุนแรง:21, State: 2. <การประทับเวลา> spid41s ระหว่าง redoing ของการดำเนินการเข้าสู่ระบบในฐานข้อมูล ' <dbname> ' ข้อผิดพลาดเกิดขึ้นที่ ID ระเบียน (#) โดยทั่วไปแล้วความล้มเหลวที่เฉพาะเจาะจงถูกบันทึกไว้ก่อนหน้านี้เป็นข้อผิดพลาดในบริการบันทึกเหตุการณ์ของ Windows คืนค่าฐานข้อมูลจากการสำรองข้อมูลแบบเต็มหรือซ่อมแซมฐานข้อมูล
สาเหตุ
ปัญหานี้เกิดขึ้นเมื่อมีการนำการเปลี่ยนแปลงไปใช้ในระหว่างกระบวนการทำซ้ำถ้ากลไกจัดการฐานข้อมูลพบ LSNs บนหน้าระบบ (ที่ใช้งาน, PFS)
การแก้ไข
ปัญหานี้ได้รับการแก้ไขครั้งแรกในการอัปเดตที่สะสมของ SQL Server ต่อไปนี้:
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ เราขอแนะนำให้คุณดาวน์โหลดและติดตั้งการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
การอัปเดตป้องกันไม่ให้ปัญหานี้เกิดขึ้น ถ้าปัญหาได้เกิดขึ้นแล้วให้ทำตามขั้นตอนต่อไปนี้เพื่อเข้าร่วมกลุ่มความพร้อมใช้งาน AlwaysOn:
-
เอาแบบจำลองรองตลอดเวลาที่มีอยู่ออก
-
เรียกใช้คำสั่งต่อไปนี้บนไฟล์ข้อมูลที่ได้รับผลกระทบเพื่อเอาช่องว่างที่ไม่ได้ถูกจัดสรรออกจากฐานข้อมูลดังนี้
DBCC SHRINKFILE(<file_id>, TRUNCATEONLY)
-
สำรองฐานข้อมูลและไฟล์บันทึก
-
คืนค่าฐานข้อมูลและบันทึกในแบบจำลองรองตลอดเวลา
-
เข้าร่วมกลุ่มความพร้อมใช้งานตลอดเวลา
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
เรียนรู้เกี่ยวกับคำ ศัพท์เฉพาะ ทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์