การสำรองข้อมูลเซิร์ฟเวอร์ Windows ไม่ได้มีไว้เป็นเครื่องมือสำรองสำหรับ SQL Server
... อย่างไรก็ตามการออกแบบทำให้เหมาะอย่างยิ่งสำหรับองค์กรขนาดเล็กหรือบุคคลที่ไม่ใช่ผู้เชี่ยวชาญด้านไอที ...
อ้างอิงจากWindows Server Backup คู่มือแบบทีละขั้นตอนสำหรับ Windows Server 2008ส่วน: "ใครควรใช้ Windows Server Backup?"
ส่วนที่คุณยกมานั้นโดยทั่วไปแล้วจะบอกว่าเมื่อ Windows Server Backup เริ่มต้นขึ้นมันจะเปิดใช้งานคุณสมบัติ VSS ใน Windows SQL Server จะรับรู้ว่า Volume Shadow Copy เกิดขึ้นและด้วยความช่วยเหลือของบริการ SQL Server Writer จะทำให้มั่นใจได้ว่าสำเนาของไฟล์ฐานข้อมูล (* .mdf, * .ndf, * .ldf) สามารถทำได้
วัตถุประสงค์ของบริการ SQL Server Writer ถูกกำหนดไว้ดังนี้:
เมื่อรัน Database Engine จะล็อคและมีการเข้าถึงไฟล์ข้อมูลแบบเอกสิทธิ์ เมื่อบริการ SQL Writer ไม่ทำงานโปรแกรมสำรองข้อมูลที่รันใน Windows จะไม่สามารถเข้าถึงไฟล์ข้อมูลและการสำรองข้อมูลจะต้องดำเนินการโดยใช้การสำรองข้อมูล SQL Server
ใช้บริการ SQL Writer เพื่ออนุญาตให้โปรแกรมสำรองข้อมูลของ Windows คัดลอกไฟล์ข้อมูล SQL Server ขณะที่ SQL Server กำลังทำงาน
อ้างอิงจากส่วนบริการ SQL Writer : "วัตถุประสงค์"
นั่นคือทั้งหมดที่เกิดขึ้นกับ Windows Server Backup
การสำรองข้อมูลที่สร้างขึ้นด้วย Windows Server Backup ในขณะที่ SQL Server กำลังทำงานอยู่ควรสอดคล้องกัน แต่การทำธุรกรรมที่ยังไม่ได้เขียนไปยังดิสก์ไม่ได้อยู่ใน Volume Shadow Copy สแน็ปช็อตฐานข้อมูลถูกถ่ายขณะออนไลน์
อย่างไรก็ตามบทความ MSDN Snapshot Backupsระบุว่า:
สำรองข้อมูลประเภทต่อไปนี้เท่านั้นที่สามารถสำรองข้อมูล snapshot:
- สำรองข้อมูลเต็มรูปแบบ
- สำรองข้อมูลบางส่วน
- สำรองไฟล์
- การสำรองฐานข้อมูลที่แตกต่าง สิ่งเหล่านี้ได้รับการสนับสนุนเฉพาะเมื่อผู้ขายใช้ส่วนต่อประสาน VSS
และนอกจากนี้:
ยกเว้นตามที่ระบุไว้ก่อนหน้าในหัวข้อนี้การสำรองข้อมูล snapshot จะทำหน้าที่เทียบเท่ากับการสำรองข้อมูลทั่วไปที่เกี่ยวข้อง คุณสามารถใช้การสำรองข้อมูลสแน็ปช็อตในลำดับการกู้คืนด้วยการสำรองข้อมูลเต็มรูปแบบที่ไม่ใช่สแนปชอตการสำรองข้อมูลส่วนต่างและการสำรองข้อมูลบันทึก เช่นเดียวกับการสำรองข้อมูลอื่น ๆ การสำรองข้อมูลสแน็ปช็อตจะถูกติดตามในฐานข้อมูล msdb ซึ่งมีการระบุการสำรองข้อมูลสแน็ปช็อตโดย backupset.is_snapshot = 1 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ msdb ให้ดูที่ฐานข้อมูล msdb
SQL Server ไม่สนับสนุนการคืนค่าออนไลน์จากการสำรองข้อมูล snapshot การกู้คืนสำเนาสำรองสแน็ปช็อตจะทำให้ฐานข้อมูลออฟไลน์โดยอัตโนมัติ การกู้คืนทีละน้อยสามารถรวมการสำรองสแน็ปช็อต แต่ลำดับการกู้คืนทั้งหมดจะคืนค่าออฟไลน์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเรียกคืนทีละน้อยดูการดำเนินการคืนค่าทีละน้อย
เพื่อตอบคำถามของคุณ:
- ฉันต้องสำรองไฟล์. pdf หรือไม่ ไฟล์. pdf และ. ldf
- ออนไลน์หรือออฟไลน์
- ขั้นตอนอย่างเป็นทางการสำหรับการกู้คืนฐานข้อมูล SQL Server สำรองด้วยวิธีนี้คืออะไร?
- มีอะไรพิเศษที่ต้องพิจารณาเมื่อทำการสำรองข้อมูลเพิ่มเติม / ส่วนต่างหรือไม่
- เอกสารทั้งหมดนี้อยู่ที่ไหน
คำตอบ:
- ใช่คุณสามารถทำสำเนา Windows Server Backup (VSS) ของไฟล์. mdf และ. ldf การสำรองข้อมูลควรสอดคล้องกัน แต่ฐานข้อมูลจะออฟไลน์หลังจากการคืนค่า
- ถ้า SQL Server หยุดทำงาน / ฐานข้อมูลถูกแยกออก / ฐานข้อมูลเป็นแบบออฟไลน์สำเนา VSS ของไฟล์. mdf และ. ldf จะสอดคล้องกัน 100%
- ฉันไม่แน่ใจเกี่ยวกับวิธีกู้คืนฐานข้อมูล (ไปยังจุดเวลา) ที่ดำเนินการกับ Windows Server Backup เนื่องจากฐานข้อมูลถูกกู้คืนในสถานะออฟไลน์ ฐานข้อมูลในสถานะออฟไลน์ไม่สามารถเรียกคืน / กู้คืนได้อีกและนำผลลัพธ์ฐานข้อมูลออนไลน์ในฐานข้อมูลที่ถูกพิจารณาว่ากู้คืนมาได้อย่างสมบูรณ์ ฉันจะแนะนำ SQL Server FULL, DIFF และ TLOG Backup แยกต่างหากเพื่อให้แน่ใจว่าคุณสามารถทำการกู้คืนฐานข้อมูลไปยังจุดในเวลา
- บันทึกธุรกรรมไม่ได้เป็นส่วนหนึ่งของสแน็ปช็อตที่สร้างด้วยการสำรองข้อมูลของ Window Server และควรดำเนินการเพิ่มเติม สแน็ปช็อตที่แตกต่างกันได้รับการสนับสนุนจากผู้ขายบุคคลที่สามซึ่งเป็นส่วนหนึ่งของลำดับการสำรองข้อมูล แต่ Windows Server Backup ดูเหมือนจะไม่สามารถทำการสำรองข้อมูลที่แตกต่างกันได้ ในกรณีนี้คุณจะต้องทำการสำรองข้อมูลส่วนต่างเพิ่มเติม (ดู 3. )
- การอ้างอิงที่แตกต่างกัน
อธิบายในการใช้งานจริง
ในสภาพแวดล้อมของเราเรามีสถานการณ์ที่คล้ายกันซึ่ง VMware กำลังทำสแน๊ปช็อตและ DBA กำลังทำการทิ้ง SQL Server ด้วย Commvault ประวัติการสำรองข้อมูลมีลักษณะดังนี้:
DBNAME TYPE BACKUPSET_NAME IS_SNAPSHOT BACKUP_START_DATE
------- ---- ------------------------- ----------- -----------------------
DB_NAME Full NULL 1 2016-12-10 18:23:59.000
DB_NAME Full CommVault Galaxy Backup 0 2016-12-10 20:07:41.000
DB_NAME Log CommVault Galaxy Backup 0 2016-12-11 06:00:40.000
DB_NAME Full NULL 1 2016-12-11 18:24:00.000
DB_NAME Diff CommVault Galaxy Backup 0 2016-12-11 20:03:38.000
DB_NAME Log CommVault Galaxy Backup 0 2016-12-12 06:02:29.000
DB_NAME Log CommVault Galaxy Backup 0 2016-12-12 07:02:17.000
VMware snapshot จะสร้างรายการในตารางประวัติฐานข้อมูล MSDB ด้วยIS_SNAPSHOT = 1
และFULL
สำหรับแต่ละ snapshot VMware ที่ดำเนินการ (รายวัน) การสำรองข้อมูลดั้งเดิม (อย่างดี Commvault โดยใช้เนทีฟ) SQL Server จะดำเนินการโดยใช้การสำรองข้อมูลแบบ FULL, DIFF และ TLOG การสำรองข้อมูลเหล่านี้จะไม่ถูกทำเครื่องหมายเป็น IS_SNAPSHOT และมีอยู่ในรูปแบบเพิ่มเติมทั้งหมด (สัปดาห์ละครั้ง), DIFF (ทุก ๆ วัน) และรายการ LOG (รายชั่วโมง) ในตารางสำรองในฐานข้อมูล msdb
ด้วยการตั้งค่านี้เราสามารถทำการคืนค่าเป็นวันที่ snaphot แล้วนำฐานข้อมูลออนไลน์หรือเราสามารถทำการคืนค่าแต่ละจุดในเวลาใดก็ได้โดยใช้การสำรองข้อมูล SQL ดั้งเดิม