สำรองข้อมูล Tail Log เมื่อทำการกู้คืน?


9

โดยทั่วไปเมื่อทำการกู้คืนฐานข้อมูลจากเซิร์ฟเวอร์ที่ใช้งานจริงไปยังเซิร์ฟเวอร์ที่ไม่ได้ใช้งานจริงฉันจะใช้ตัวเลือก WITH REPLACE เช่นเดียวกับเมื่อฉันลืมฉันได้รับข้อผิดพลาดเกี่ยวกับ tail log ที่ไม่มีการสำรองข้อมูล

ตาม MSDNฉันควรสำรองข้อมูล tail tail ก่อนที่จะกู้คืน:

หากฐานข้อมูลออนไลน์และคุณวางแผนที่จะดำเนินการกู้คืนข้อมูลในฐานข้อมูลให้เริ่มต้นด้วยการสำรองข้อมูลส่วนท้ายของบันทึก เพื่อหลีกเลี่ยงข้อผิดพลาดสำหรับฐานข้อมูลออนไลน์คุณต้องใช้ตัวเลือก… WITH NORECOVERY ของคำสั่ง BACKUP Transact-SQL

อันตรายหรือข้อเสียของวิธีที่ฉันทำมีอะไรบ้าง ทำไมการสำรองข้อมูล tail tail ไว้ก่อนจึงเป็นประโยชน์กับฉัน

ฉันใช้ SQL Server 2008R2 แต่ฉันสันนิษฐานว่าแบบสอบถามนี้จะเกี่ยวข้องกับ SQL Server รุ่นใหม่กว่าส่วนใหญ่ดังนั้นจึงไม่ได้ติดแท็กเป็นเช่นนั้นในตอนแรก


6
ฉันคิดว่าหมายความว่าหากคุณจะกู้คืนในตำแหน่งเดียวกัน (และอาจใช้บันทึกธุรกรรมเพิ่มเติม) หากคุณกำลังจะกู้คืนเพียงสำเนาของฐานข้อมูลที่อื่นและไม่จำเป็นต้องรักษา log chain ฉันจะใช้วิธีที่คุณใช้ ฉันอาจใช้WITH COPY_ONLYกับการสำรองข้อมูล
Aaron Bertrand

คำตอบ:


4

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


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

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