กำหนดการสำรองข้อมูล SQL Server ที่ดีคืออะไร


18

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

  • สำรองฐานข้อมูลเต็มรูปแบบ
  • การสำรองฐานข้อมูลที่แตกต่าง
  • สำรองข้อมูลบันทึกธุรกรรม

ดูเหมือนว่าฉันควรจะใช้ทั้งสามอย่างนี้ ดังนั้นนี่เป็นตารางเวลาที่สมเหตุสมผลหรือไม่?

  • วันที่ 1 ของแต่ละเดือน - ทำการสำรองฐานข้อมูลเต็มรูปแบบ
  • ทุกวันเวลาเที่ยงคืน - ทำการสำรองฐานข้อมูลที่แตกต่าง
  • ทุก ๆ 15 นาที - ทำการสำรองข้อมูลบันทึกธุรกรรม

ด้วยวิธีนี้ถ้าฐานข้อมูลของฉันล้มเหลวในวันที่ 12 ฉันจะคืนค่าการสำรองฐานข้อมูลเต็มรูปแบบจากที่ 1 ทำสำรองข้อมูลที่แตกต่างกัน 12 จากที่ 1 ถึง 12 แล้วในที่สุดก็คืนค่าบันทึกธุรกรรมล่าสุด (คือ ธุรกรรมบันทึกผลต่าง?)

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

คำตอบ:


24

เช่นเดียวกับทุกสิ่งใน SQL Server มันขึ้นอยู่กับ

สิ่งแรกที่คุณต้องทำคือให้แน่ใจว่าคุณเข้าใจว่าการสำรองข้อมูลแต่ละประเภททำอะไร

Books Online มีรายละเอียดเหนอะหนะทั้งหมดแต่นี่เป็นบทสรุปของฉัน

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

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

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

หนังสือออนไลน์มีข้อมูลที่ดีบางอย่างถ้าคุณวางแผนการใช้แผนบำรุงรักษา แต่ถ้าคุณต้องการความยืดหยุ่นจริงๆแล้วตรวจสอบสคริปต์สำรอง Ola Hallengren ของ


ขอบคุณสำหรับคำตอบที่ดี ฉันมีคำถามเล็กน้อยสำหรับคุณคุณสร้าง / จัดระเบียบดัชนีใหม่ก่อนสำรองข้อมูลเต็มหรือไม่
atanamir

ใช่ก่อนการสำรองข้อมูลเต็มรูปแบบเป็นความคิดที่ดี ด้วยวิธีนี้หากฐานข้อมูลของคุณล้มเหลวการสำรองข้อมูลเต็มรูปแบบจะมีการเปลี่ยนแปลงดัชนีทั้งหมดแล้ว
Patrick Keisler

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