การบำรุงรักษาบันทึกธุรกรรมบนฐานข้อมูลมิเรอร์


10

เวอร์ชันของเซิร์ฟเวอร์ SQL: 2008 R2 Enterprise SP2

ฉันพยายามจัดการกับการบำรุงรักษา SQL Server ของเราและฉันเจอสิ่งที่ฉันคิดว่าไม่ถูกต้อง เรามีอินสแตนซ์การผลิตเดียวซึ่งมี 3 ฐานข้อมูลแต่ละอันถูกมิเรอร์นอกสถานที่ไปยังอินสแตนซ์ DR

ในขณะที่ดูอินสแตนซ์ DR ฉันสังเกตเห็นว่าไฟล์ LDF มีขนาดใหญ่มากเกินกว่า 35GB สำหรับฐานข้อมูลที่ใช้งานหนัก

ฉันเข้าใจว่าอาจเป็นเพราะฐานข้อมูลมิเรอร์อยู่ในโหมดการกู้คืนแบบเต็มและบันทึกไม่เคยถูกสำรองไว้พวกเขาจะเติบโตต่อไปจนกว่าจะหมดพื้นที่ไดรฟ์

เรากำลังทำการสำรองข้อมูลบันทึกในฐานข้อมูลหลักและคำถามของฉันคือสิ่งที่ gotchas กับการทำสำรองข้อมูลบันทึกในกระจกหรือไม่

ต้องมีการสำรองข้อมูลเต็มรูปแบบอย่างน้อยหนึ่งรายการจากมิเรอร์ก่อนที่จะทำการสำรองข้อมูลบันทึกในกรณีนั้นมีตัวเลือกพิเศษที่จำเป็นต้องใช้เพราะเป็นมิรเรอร์หรือไม่

นี่คือคำแนะนำในการบำรุงรักษาบันทึกธุรกรรมบนฐานข้อมูลMIRROR

ขอบคุณสำหรับการป้อนข้อมูลใด ๆ

คำตอบ:


5

เรากำลังทำการสำรองข้อมูลบันทึกในฐานข้อมูลหลักและคำถามของฉันคือสิ่งที่ gotchas กับการทำสำรองข้อมูลบันทึกในกระจกหรือไม่

คุณไม่สามารถสำรองข้อมูลบันทึกในฐานข้อมูลมิเรอร์

ต้องมีการสำรองข้อมูลเต็มรูปแบบอย่างน้อยหนึ่งรายการจากมิเรอร์ก่อนที่จะทำการสำรองข้อมูลบันทึกในกรณีนั้นมีตัวเลือกพิเศษที่จำเป็นต้องใช้เพราะเป็นมิรเรอร์หรือไม่

คุณไม่สามารถสำรองฐานข้อมูลเต็มรูปแบบในฐานข้อมูลมิเรอร์ได้เช่นกัน

ยกตัวอย่างเช่น: ฉันมีServer1ที่เก็บฐานข้อมูลหลักAdventureWorks2012และฉันมีServer2ที่บรรจุมิเรอร์ นี่คือสิ่งที่เกิดขึ้นเมื่อฉันพยายามเรียกใช้การสำรองข้อมูลในฐานข้อมูลมิเรอร์ (บนServer2):

use master;
go

backup database AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.bak';
go

ข่าวสารเกี่ยวกับ 954, ระดับ 14, สถานะ 1, บรรทัด 2
ฐานข้อมูล "AdventureWorks2012" ไม่สามารถเปิดได้ มันทำหน้าที่เป็นฐานข้อมูลมิเรอร์
ข่าวสารเกี่ยวกับ 3013 ระดับ 16 สถานะ 1
ฐานข้อมูลการสำรอง2 บรรทัดถูกยกเลิกอย่างผิดปกติ

backup log AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.trn';
go

ข่าวสารเกี่ยวกับ 954, ระดับ 14, สถานะ 1, บรรทัด 1
ฐานข้อมูล "AdventureWorks2012" ไม่สามารถเปิดได้ มันทำหน้าที่เป็นฐานข้อมูลมิเรอร์
ข่าวสารเกี่ยวกับ 3013 ระดับ 16 สถานะ 1
บันทึกการสำรองข้อมูลบรรทัด 1 สิ้นสุดลงอย่างผิดปกติ

ลองดูที่นี้ฐานข้อมูลเรอคำถามที่พบบ่อยโดยโรเบิร์ตเดวิส ฉันจะพูดกับเขาเกี่ยวกับการดำเนินการนี้และการบำรุงรักษาบันทึกธุรกรรมฐานข้อมูลมิเรอร์:

เมื่อคุณสำรองข้อมูลบันทึกบนหลักการไฟล์บันทึกเสมือน (แต่ละหน่วยภายในไฟล์บันทึก) จะถูกทำเครื่องหมายว่าสามารถเขียนซ้ำได้ VLF เดียวกันถูกทำเครื่องหมายว่าสามารถเขียนซ้ำได้ในไฟล์บันทึกการทำงานของมิเรอร์เช่นกัน สถานะ VLF จะถูกสะท้อนในฐานข้อมูล

ดังนั้นคุณมีมัน หากคุณมีการสำรองข้อมูลบันทึกธุรกรรมบนหลักการแล้วพฤติกรรมการใช้ซ้ำบันทึกที่คล้ายกันจะถูกทำมิเรอร์ไปยังฐานข้อมูลคู่ค้า


ฉันเกลียดเมื่อมีบทความออกมาที่ตอบคำถามที่แน่นอนของฉันและฉันไม่พบมัน นี่เป็นเหตุผลที่สมบูรณ์แบบเมื่อฉันเข้ายึดบันทึกที่ไม่ได้รับการสำรองข้อมูลและมีขนาดใหญ่ขึ้นมากในเงินต้นดังนั้นหลังจากฉันเริ่มการสำรองข้อมูลเป็นประจำ ขอบคุณ!
Jeremie Grund

1
คำถามเพิ่มเติมจะเป็นไปได้หรือไม่ที่จะลดขนาดบันทึกธุรกรรมมิร์เรอร์ที่มิรเรอร์ตอนนี้เรามีการสำรองข้อมูลบันทึกธุรกรรมปกติบนตัวเงินหรือไม่
Jeremie Grund

@JeremieGrund วิธีหนึ่งในการทำเช่นนี้คือการ failover ไปยังฐานข้อมูลที่มิเรอร์และทำการย่อขนาด ทดสอบอย่างละเอียดในสภาพแวดล้อมที่ไม่ใช่การผลิตเพื่อให้แน่ใจว่ามีพฤติกรรมที่คุณต้องการ / คาดหวัง
Thomas Stringer

0

@JeremieGrund - หากสถาปัตยกรรมไฟล์ฟิสิคัลฐานข้อมูลเหมือนกัน (ชื่อ & ที่ตั้งของไดรฟ์ข้อมูลและล็อกไฟล์) ดังนั้นหากคุณลดขนาดไฟล์บันทึกบนหลักการคำสั่งย่อขนาดจะถูกส่งไปยังมิเรอร์และทำเช่นเดียวกันกับมิเรอร์ ดังนั้นด้วยวิธีนี้ไฟล์บันทึกการมิเรอร์ของคุณสามารถดูแลได้ .. หากสถาปัตยกรรมไฟล์ไม่เหมือนกันคุณควรทำตามคำแนะนำของ Thomas Stringer ..

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.