ข้อดีและข้อเสียของกลยุทธ์การสำรอง SQL Server และสถานการณ์การใช้งานที่เหมาะสม


10

จากสิ่งที่ฉันสามารถบอกได้มีสามวิธีที่เป็นไปได้ในการสำรองฐานข้อมูล SQL Server ของคุณ

  1. สำรองข้อมูลทั้งหมด
  2. สำรองข้อมูลต่างกัน
  3. บันทึกการจัดส่ง

อะไรคือข้อดีข้อเสียของแต่ละกลยุทธ์และในสถานการณ์ใดที่พวกเขาควรได้รับการว่าจ้าง?

คำตอบ:


14

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

และจำไว้ว่า: คุณไม่มีการสำรองข้อมูลที่ถูกต้องจนกว่าคุณจะกู้คืนจากมันเพื่อทดสอบว่ามันใช้ได้หรือไม่


5

อาจไม่มีแนวคิดดังกล่าวเป็นกลยุทธ์การสำรองข้อมูล: คุณมีกลยุทธ์การกู้คืนเนื่องจากสิ่งนี้จะกำหนดระยะเวลาจนกว่าคุณจะกลับมาทำงาน *

กลยุทธ์ทั้งหมดต้องการการสำรองข้อมูลเต็มรูปแบบเพื่อยึดตามการเรียกคืนส่วนต่างและ / หรือการสำรองข้อมูลบันทึกตามมา

ในทางปฏิบัติคุณสามารถมีการสำรองข้อมูลเต็มรูปแบบจาก 6 เดือนที่ผ่านมากับการสำรองข้อมูลบันทึก 15 นาที: อย่างไรก็ตามคุณจะต้องใช้การสำรองข้อมูลทุกครั้งจากบันทึกล่าสุด

เป็นตัวอย่างแบบสุ่มสถานการณ์หนึ่งอาจเป็นรายสัปดาห์ส่วนต่างรายวันล็อก 15 นาที

ช่วงเวลาการสำรองข้อมูลกำหนดจำนวนข้อมูลที่คุณสูญเสียในกรณีที่เลวร้ายที่สุด: การสำรองข้อมูลบันทึก 15 นาทีจะทำให้คุณสูญเสียข้อมูลระหว่าง 1 วินาทีถึง 14 นาที 59 วินาทีเฉลี่ย 7.5 นาที เป็นที่ยอมรับหรือไม่?

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


3

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

เมื่อจัดการกับการสำรองข้อมูล Transaction Log สิ่งสำคัญคือต้องเข้าใจว่าบันทึกการเชื่อมโยงคืออะไร ในคำพูดของฉันห่วงโซ่การบันทึกคือชุดของการสำรองข้อมูลที่จำเป็นต้องกู้คืนเพื่อกู้คืนฐานข้อมูลของคุณไปยังจุดที่กำหนดในเวลา ในการเริ่มกู้คืนบันทึกธุรกรรมคุณต้องคืนค่าการสำรองข้อมูลเต็มรูปแบบโดยใช้ตัวเลือก WITH NORECOVERY หากคุณทำการสำรองข้อมูลต่างด้วยคุณจะต้องกู้คืนข้อมูลสำรองล่าสุดก่อนเวลาที่คุณต้องการคืนค่าโดยใช้ตัวเลือก WITH NORECOVERY ณ จุดนี้คุณจะต้องกู้คืนการสำรองข้อมูลบันทึกธุรกรรมตามลำดับโดยใช้ตัวเลือก WITH NORECOVERY ในการสำรองข้อมูลทั้งหมดยกเว้นการสำรองข้อมูลขั้นสุดท้าย สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการคืนเวลาให้ตรวจสอบลิงค์นี้ http://msdn.microsoft.com/en-us/library/ms175093.aspx

ดังที่ได้กล่าวไว้แล้ว Log Shipping ไม่ใช่กลยุทธ์การสำรองข้อมูล แต่สามารถลดเวลาการเรียกคืนลงอย่างมากในกรณีที่เกิดสถานการณ์กู้คืนจากความเสียหาย Gotcha อย่างหนึ่งที่ต้องระวังคือการเผยแพร่การจำลองแบบใด ๆ จะต้องถูกสคริปต์ไปยังเซิร์ฟเวอร์ Log Shipping และเริ่มต้นเพื่อให้การจำลองแบบทำงานได้เหมือนก่อนเกิดภัยพิบัติ ด้วยสิ่งพิมพ์ขนาดใหญ่สิ่งนี้อาจทำให้เพิ่มขึ้นอย่างมากในเวลาที่ใช้ในการเรียกคืนกลับสู่ระดับการผลิต

หวังว่าจะช่วยได้

ด้าน



2

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

ข้อมูลที่ดีเกี่ยวกับ Disaster Recovery (การสำรองข้อมูลและเรียกคืน :-)) คุณสามารถหาได้ใน MSDN: ที่นี่และที่นี่ ในระยะสั้นคุณต้องเลือกจำนวนข้อมูลที่คุณสามารถกู้คืนจากข้อมูลสำรองในกรณีที่เกิดความล้มเหลว ตัวอย่างกลยุทธ์การสำรองข้อมูลที่ชาญฉลาดจะเป็นการสำรองข้อมูลเต็มรูปแบบทุกวันและบันทึกการสำรองข้อมูลทุกชั่วโมง (ขึ้นอยู่กับความต้องการของคุณ) ดังนั้นในกรณีนี้คุณจะสามารถกู้คืนฐานข้อมูลจากการสำรองข้อมูลเต็มรูปแบบ + สำรองข้อมูลบันทึกรายวันทั้งหมด

การอ้างอิงที่ดีอีกประการหนึ่งเกี่ยวกับ DR คุณสามารถค้นหาบนSimple_Talk


1

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


-1

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

ตัวอย่างเช่นหากฐานข้อมูลของคุณเติบโตอย่างรวดเร็วคุณสามารถใช้กลยุทธ์การสำรองข้อมูลของ SQL Server ดังต่อไปนี้: การสำรองข้อมูลเต็มรูปแบบ - วันละครั้ง, การสำรองข้อมูลต่างกัน - ทุกสองชั่วโมงและการสำรองข้อมูลบันทึกธุรกรรม - ทุก 20 นาที ในกรณีนี้หากความล้มเหลวเกิดขึ้นคุณจะสูญเสียงานของคุณไม่เกิน 19 นาที อีกตัวอย่างหนึ่งถ้าฐานข้อมูลของคุณเติบโตช้าคุณสามารถทำการสำรองข้อมูลเต็มรูปแบบวันละครั้งสำรองข้อมูลต่างกันทุกหกชั่วโมงและทุก ๆ ชั่วโมงทำสำรองข้อมูลบันทึกธุรกรรม

อีกหนึ่งเคล็ดลับ - เพื่อให้แน่ใจว่าฐานข้อมูลของคุณปลอดภัยเป็นครั้งคราวคืนค่าการสำรองข้อมูลของคุณบนเซิร์ฟเวอร์ทดสอบ

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