การบำรุงรักษาบันทึกธุรกรรมเมื่อเปลี่ยนเป็นการกู้คืนแบบง่าย


9

พื้นหลัง:

ฉันเพิ่งสืบทอดเซิร์ฟเวอร์ SQL มากกว่า 50+ พร้อมฐานข้อมูล 450+ การสำรองข้อมูลทุกคืนมีขนาดประมาณ 8TB และไม่จำเป็นต้องบอกว่าเราใช้พื้นที่ดิสก์มากกว่าที่เราต้องการ ฐานข้อมูลทั้งหมดถูกตั้งค่าเป็นการกู้คืนแบบเต็มและล็อกธุรกรรมไม่เคยถูกสำรอง ฉันได้ผ่าน SQL Server ทั้งหมดและระบุลำดับความสำคัญต่ำที่ต้องสำรองข้อมูลทุกคืนและยอมรับว่าข้อมูลสูญหายได้ทุกวัน

คำถาม:

ฉันเปลี่ยนฐานข้อมูลที่มีลำดับความสำคัญต่ำมาเป็นSIMPLEโหมดการกู้คืนจากจำนวนFULLมาก บันทึกธุรกรรมที่มีอยู่จะถูกตัดทอนหรือไม่ (เมื่อสร้างจุดตรวจ)? บันทึกธุรกรรมบางรายการที่มีอยู่คือ 50-100GB อะไรคือวิธีที่ดีที่สุดในการพิจารณาสิ่งที่ฉันควรย่อให้เป็นเพื่อวัตถุประสงค์ในการก้าวไปข้างหน้า เห็นได้ชัดว่าฉันไม่ต้องการให้พวกเขามีขนาดใหญ่ หรือพวกเขาจะหดตัวเมื่อเวลาผ่านไป (ฉันไม่คิดว่าพวกเขาจะ)?

คำตอบ:


2

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

ในการย่อขนาดLDFไฟล์ให้เล็กที่สุดเท่าที่จะทำได้ให้ทำตามขั้นตอนที่ Kimberly Tripp กำหนดไว้ที่นี่: 8 ขั้นตอนในการทำทรานแซคชันทรูพุตให้ดีขึ้น

  1. รอสักครู่เมื่อกิจกรรมในฐานข้อมูลมีน้อย

  2. ทำงานใน SSMS:

    DBCC SHRINKFILE(transaction_log_logical_filename, TRUNCATEONLY)
  3. แก้ไขขนาดไฟล์บันทึกธุรกรรม:

    ALTER DATABASE db_name
    MODIFY FILE ( NAME = transaction_log_logical_filename, SIZE = new_size)
    

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

9

ฉันสลับฐานข้อมูลจำนวนมากเป็นโหมดการกู้คืนแบบง่าย ๆ จากโหมดการกู้คืนแบบเต็ม (T-Logs และการกู้คืนระบบแบบจุดในเวลาไม่จำเป็น) ล็อกธุรกรรมที่มีอยู่จะถูกตัดทอนหรือไม่ (เมื่อสร้างจุดตรวจ)

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

หากคุณไม่มีธุรกรรมที่ใช้เวลานานซึ่งจะทำให้การตัดทอนการตัดบัญชีล่าช้าจุดตรวจสอบอัตโนมัติจะตัดทอนส่วนที่ไม่ได้ใช้ของ T-log

บันทึกธุรกรรมบางรายการที่มีอยู่คือ 50-100GB สิ่งที่เป็นวิธีที่ดีที่สุดในการพิจารณาว่าฉันควรย่อขนาดไฟล์เหล่านี้ลงไปอย่างไรเพื่อวัตถุประสงค์ในการก้าวไปข้างหน้า เห็นได้ชัดว่าฉันไม่ต้องการให้พวกเขามีขนาดใหญ่

หากคุณมีรูปแบบการกู้คืนฐานข้อมูลตั้งเป็น FULL สำหรับฐานข้อมูลเหล่านั้นที่มี T-log 50-100GB คุณต้องเริ่มทำการสำรองข้อมูล T-log บ่อยครั้ง โปรดจำไว้ว่าในรูปแบบการกู้คืนข้อมูลเต็มรูปแบบเมื่อมีการสร้างห่วงโซ่การสำรองข้อมูลแล้วแม้จุดตรวจสอบอัตโนมัติจะไม่ทำให้บันทึกถูกตัดทอน

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

หรือพวกเขาจะหดตัวเมื่อเวลาผ่านไป (ฉันไม่คิดว่าพวกเขาจะ)?

@TomTom ชี้ให้เห็นว่ามันเป็นคู่มือการใช้งาน

อ่านมากขึ้น:


2

เราไม่สามารถตอบคำถามจำนวนมากได้ สายอักขระยาวเท่าไหร่

บันทึกธุรกรรมบางรายการที่มีอยู่คือ 50-100GB สิ่งที่เป็นวิธีที่ดีที่สุดในการพิจารณาว่าฉันควรย่อขนาดไฟล์เหล่านี้ลงไปอย่างไรเพื่อวัตถุประสงค์ในการก้าวไปข้างหน้า

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

การสำรองข้อมูลทุกคืนมีขนาดประมาณ 8TB และไม่จำเป็นต้องบอกว่าเราใช้พื้นที่ดิสก์มากกว่าที่เราต้องการ

แล้วทำไมจึงทำให้มันง่าย? ฉันหมายถึงจริงจัง

ฐานข้อมูลทั้งหมดถูกตั้งค่าเป็นการกู้คืนแบบเต็มและล็อกธุรกรรมไม่เคยถูกสำรอง

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

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

ใช่. นั่นคือจนกว่าคุณจะจบลงในศาลและส่งมือของคุณให้โดยไม่มีเอกสารทางกฎหมายที่สำคัญ คุณรู้หรือไม่ว่าบันทึกการใช้แฟกซ์อาจเป็นส่วนหนึ่งของสิ่งที่คุณต้องเก็บไว้เป็นเวลานานหลายปีเพื่อเป็นข้อมูลที่เกี่ยวข้องกับธุรกิจ มันเป็นเช่นนั้นในเขตอำนาจของฉัน (10 ปี) หากคุณเป็น บริษัท หุ้น U อาจมีความประหลาดใจที่คล้ายกัน (SOX) ความล้มเหลวในการทำเช่นนั้นทำให้ศาลแย่มากหากคุณต้องการพิสูจน์ว่าไม่ได้รับแฟกซ์ หรือส่งหนึ่งอัน ไม่มีใครสนใจว่าสิ่งนี้เกิดขึ้นทุกเดือนหรือไม่และคุณมีบันทึกล่าสุดมากกว่านี้ - คุณทำผิดพลาดตามข้อกำหนดของกฎหมาย ตรวจสอบให้แน่ใจว่ามีการลงชื่อออกจากคนที่สูงมากเพราะธุรกิจของคุณไม่สำคัญอาจเป็นเหตุผลในการเริ่มต้น

หรือพวกเขาจะหดตัวเมื่อเวลาผ่านไป (ฉันไม่คิดว่าพวกเขาจะ)?

ไม่และพวกเขาไม่ควรทำเช่นนั้น การปรับขนาดไฟล์บันทึกเป็นการดำเนินการด้วยตนเองยกเว้นฐานข้อมูลที่มีปริมาณน้อย


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