ไม่มันเป็นไปไม่ได้ที่จะกู้คืนฐานข้อมูลจากไฟล์ ldf ไฟล์ ldf จะถูกกู้คืนพร้อมกับไฟล์ mdf
ไม่มันไม่ซ้ำซ้อนเนื่องจากมีวัตถุประสงค์ที่แตกต่างกันสองประการ
การสำรองข้อมูลเต็มรูปแบบและการสำรองข้อมูลธุรกรรมเป็นสิ่งสำคัญ การมีสำเนาไฟล์ ldf เท่านั้นไม่ช่วยให้คุณกู้คืนฐานข้อมูล
สำหรับไฟล์ ldf ที่ใช้สำหรับอะไร ldf คือบันทึกธุรกรรม คิดว่ามันเป็นบัฟเฟอร์แบบวงกลมที่บันทึกการเปลี่ยนแปลงในฐานข้อมูลของคุณ เมื่อคุณอัปเดตแถวการเปลี่ยนแปลงจะถูกเขียนไปยัง ldf ทันที ในบางจุดในอนาคต (โดยปกติจะน้อยกว่าห้านาที) ข้อมูลที่ถูกแก้ไขจะถูกเขียนลงในไฟล์ mdf
หากเซิร์ฟเวอร์ล้มเหลวหรือเกิดไฟฟ้าขัดข้องเมื่อ SQL เริ่มทำงานเซิร์ฟเวอร์จะอ่านการเปลี่ยนแปลงเหล่านั้น ldf และนำไปใช้ใหม่ (REDO)
นอกจากนี้หากคุณมีธุรกรรมที่ไม่ได้รับการยอมรับและเกิดปัญหาการล่มการเปลี่ยนแปลงทั้งหมดที่ทำโดยธุรกรรมนั้นจะต้องยกเลิกเพื่อให้ฐานข้อมูลสอดคล้องกัน ไฟล์ ldf มีภารกิจนั้นเช่นกัน (UNDO)
ฉันกล่าวถึงข้างต้นว่าไฟล์ ldf เป็นวงกลม การสำรองข้อมูลบันทึกธุรกรรม (.trn) คัดลอกส่วนหนึ่งของไฟล์ ldf หลังจากไฟล์ trn ถูกสร้างอย่างปลอดภัย sql สามารถนำส่วนนั้นมาใช้ใหม่ของไฟล์ ldf ชุดของการสำรองข้อมูล trn สร้างห่วงโซ่ที่บันทึกการเปลี่ยนแปลงทุกครั้งที่เกิดขึ้นกับฐานข้อมูล แน่นอนถ้าคุณไม่เคยใช้ไฟล์สำรองข้อมูล tranaction ไฟล์ ldf ก็จะโตขึ้นเรื่อย ๆ
ในสถานการณ์จำลองการกู้คืนการสำรองข้อมูลเต็มรูปแบบจะทำให้คุณได้รับสำเนาของฐานข้อมูล ณ เวลาที่การสำรองข้อมูลเต็มรูปแบบเสร็จสิ้น จากนั้นคุณสามารถกู้คืนไฟล์ trn ตามลำดับและทำให้ฐานข้อมูลเป็นปัจจุบันในเวลาใดก็ได้รวมถึงการสำรองข้อมูล trn ครั้งล่าสุด
ฉันกำลังคัดรายละเอียดที่สำคัญบางอย่าง แต่ส่วนสำคัญคือไฟล์ ldf นั้นเป็นไฟล์ที่ใช้งานได้ซึ่งบันทึกการเปลี่ยนแปลงล่าสุดของฐานข้อมูล ไฟล์ trn เป็นสำเนาของส่วนต่าง ๆ ของ ldf ที่ทำขึ้นภายใต้ข้อสันนิษฐานที่ว่าคุณจะเก็บไว้อย่างปลอดภัยเพื่อให้ sql สามารถใช้พื้นที่ใน ldf และหากเกิดภัยพิบัติคุณจะต้องอยู่ในที่อื่น