ฉันจะสำรองฐานข้อมูล SQL Server โดยใช้ Windows Server Backup ได้อย่างไร


11

เห็นได้ชัดว่า Windows Server สำรองข้อมูลมีบางการสนับสนุนสำหรับการสำรองข้อมูลของฐานข้อมูล SQL Server:

ความสามารถในการกู้คืนแอปพลิเคชัน Windows Server Backup ใช้ฟังก์ชัน VSS ที่สร้างไว้ในแอปพลิเคชันเช่นMicrosoft® SQL Server®เพื่อปกป้องข้อมูลแอปพลิเคชัน [ที่มา: TechNet ]

นอกจากนี้ผู้คนรายงานว่า Windows Server สำรองดูเหมือนว่าจะก่อให้เกิดการจัดเรียงของดำเนินการสำรองข้อมูลใน SQL Server

อย่างไรก็ตามฉันไม่พบเอกสาร (เป็นทางการ) เกี่ยวกับวิธีสำรองฐานข้อมูล SQL Server โดยใช้ Windows Server Backup อย่างแน่นอน

  • ฉันต้องสำรองข้อมูล.mdfหรือไม่ .mdfและ.ldf?
  • ออนไลน์หรือออฟไลน์
  • ขั้นตอนอย่างเป็นทางการสำหรับการกู้คืนฐานข้อมูล SQL Server สำรองด้วยวิธีนี้คืออะไร?
  • มีอะไรพิเศษที่ต้องพิจารณาเมื่อทำการสำรองข้อมูลเพิ่มเติม / ส่วนต่างหรือไม่
  • เอกสารทั้งหมดนี้อยู่ที่ไหน

(ฉันรู้วิธีสำรองข้อมูลด้วยแผนการบำรุงรักษาเซิร์ฟเวอร์ SQL sqlmaint.exe, T-SQL BACKUP และ SQL Server Agent ฉันแค่สนใจทางเลือกที่ Windows Server Backup เสนอ (ชัด ๆ ))


Windows Server เวอร์ชันใดและเซิร์ฟเวอร์ SQL เวอร์ชันใด
pauska

@pauska: โดยส่วนตัวแล้วฉันสนใจ Windows Server 2012 R2 และ SQL Server 2012 (ฉันจงใจเก็บคำถามทั่วไปให้มากขึ้นเพื่อให้เป็นประโยชน์แก่ผู้อื่นมากขึ้น)
Heinzi

1
ฉันมี Windows Server 2008 ที่ทำการสำรองข้อมูลเต็มรูปแบบ เท่าที่ฉันสามารถบอกได้ว่ากำลังดึงฐานข้อมูลจาก SQL Server Express เป็นส่วนหนึ่งของการสำรองข้อมูลเต็มรูปแบบเนื่องจากแต่ละฐานข้อมูลบอกว่ามีการสำรองข้อมูลครั้งล่าสุดเมื่อมีการสำรองข้อมูล สิ่งนี้ทำให้ฉันสับสนเนื่องจากฉันพยายามหาวิธีที่ฉันจัดการการสำรองฐานข้อมูลเหล่านี้เนื่องจากฉันไม่พบสคริปต์ที่ทำที่ใดก็ได้ ฉันคิดว่าฉันจะเขียนสคริปต์เพื่อทำมันต่อไปเพื่อให้ฉันรู้ว่ามันใช้งานได้และรู้ว่าสิ่งที่ฉันมี
Dave Cousineau

คำตอบ:


5

การสำรองข้อมูลเซิร์ฟเวอร์ 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 สำรองด้วยวิธีนี้คืออะไร?
  • มีอะไรพิเศษที่ต้องพิจารณาเมื่อทำการสำรองข้อมูลเพิ่มเติม / ส่วนต่างหรือไม่
  • เอกสารทั้งหมดนี้อยู่ที่ไหน

คำตอบ:

  1. ใช่คุณสามารถทำสำเนา Windows Server Backup (VSS) ของไฟล์. mdf และ. ldf การสำรองข้อมูลควรสอดคล้องกัน แต่ฐานข้อมูลจะออฟไลน์หลังจากการคืนค่า
  2. ถ้า SQL Server หยุดทำงาน / ฐานข้อมูลถูกแยกออก / ฐานข้อมูลเป็นแบบออฟไลน์สำเนา VSS ของไฟล์. mdf และ. ldf จะสอดคล้องกัน 100%
  3. ฉันไม่แน่ใจเกี่ยวกับวิธีกู้คืนฐานข้อมูล (ไปยังจุดเวลา) ที่ดำเนินการกับ Windows Server Backup เนื่องจากฐานข้อมูลถูกกู้คืนในสถานะออฟไลน์ ฐานข้อมูลในสถานะออฟไลน์ไม่สามารถเรียกคืน / กู้คืนได้อีกและนำผลลัพธ์ฐานข้อมูลออนไลน์ในฐานข้อมูลที่ถูกพิจารณาว่ากู้คืนมาได้อย่างสมบูรณ์ ฉันจะแนะนำ SQL Server FULL, DIFF และ TLOG Backup แยกต่างหากเพื่อให้แน่ใจว่าคุณสามารถทำการกู้คืนฐานข้อมูลไปยังจุดในเวลา
  4. บันทึกธุรกรรมไม่ได้เป็นส่วนหนึ่งของสแน็ปช็อตที่สร้างด้วยการสำรองข้อมูลของ Window Server และควรดำเนินการเพิ่มเติม สแน็ปช็อตที่แตกต่างกันได้รับการสนับสนุนจากผู้ขายบุคคลที่สามซึ่งเป็นส่วนหนึ่งของลำดับการสำรองข้อมูล แต่ Windows Server Backup ดูเหมือนจะไม่สามารถทำการสำรองข้อมูลที่แตกต่างกันได้ ในกรณีนี้คุณจะต้องทำการสำรองข้อมูลส่วนต่างเพิ่มเติม (ดู 3. )
  5. การอ้างอิงที่แตกต่างกัน

อธิบายในการใช้งานจริง

ในสภาพแวดล้อมของเราเรามีสถานการณ์ที่คล้ายกันซึ่ง 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 ดั้งเดิม


1

คุณทำไม่ได้ หรืออย่างน้อยคุณก็ไม่ควร เท่าที่ฐานข้อมูล SQL Server มีความกังวลการสำรองข้อมูลดั้งเดิมเป็นวิธีที่ได้รับการสนับสนุน

ฉันคิดว่าคุณอาจเข้าใจผิดว่าบทความของ TechNet กำลังพูดถึงอะไร ความคิดเห็นที่คุณยกมาไม่ได้ระบุว่าคุณสามารถใช้การสำรองข้อมูล Windows Server สำหรับฐานข้อมูล SQL Server เป็นจริงเพียงเน้นว่าการสำรองข้อมูล Windows Server ใช้บริการ Volume Shadow Copy เดียวกันกับที่ SQL Server ใช้ ข้อมูลเพิ่มเติม: TechNet: SQL Writer Service


ฉันรู้ว่าฉันไม่ควร - ฉันจะไม่มอบความไว้วางใจให้กับข้อมูลเกี่ยวกับคุณสมบัติที่ไม่ดีดังกล่าว ยังคงฉันอยากรู้ว่ามันเป็นไปได้ในทางทฤษฎี: SQL Server ไม่ให้เขียน VSS และ Windows Server สำรองข้อมูลเป็นผู้ขอ VSS ดังนั้นฉันจะปล่อยให้เปิดคำถามสำหรับตอนนี้ อาจเป็นเพียงคำถามของการจับคู่สองตัวขึ้นมา (ตัวอย่างเช่นมีคำแนะนำออนไลน์เกี่ยวกับวิธีการทำสิ่งนี้สำหรับผู้เขียน Hyper-V VSS )
Heinzi

1
เห็นได้ชัดว่า Windows Server สำรองไม่เรียกชนิดของการสำรองข้อมูลเซิร์ฟเวอร์ SQL บางดูquesiton นี้
Heinzi

1

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

ฉันจำได้ว่าการสำรองข้อมูล vss นั้นใช้สำหรับการคัดลอกเครื่องเสมือนแช่แข็งหรือเพื่อรวบรวมภาพจันบน SAN เพื่อสำรองภาพคงที่ แต่การสำรองข้อมูลจะเป็น "ความล้มเหลวที่สอดคล้องกัน" เช่นเดียวกับการขัดจังหวะพลังงานและไม่สอดคล้องกันจริงๆ

ที่เกี่ยวข้อง


0

ฉันคิดว่ามันใช้ประเภทการสำรองข้อมูลพิเศษที่เรียกว่า "Snapshot Backup"

จากเอกสาร SQL Server 2008:

การสำรองข้อมูล snapshot ของ SQL Server ยังใช้โดย Microsoft Windows Server 2003 Volume Shadow Copy Service (VSS) และซอฟต์แวร์สำรองข้อมูลและซอฟต์แวร์เก็บข้อมูลทั้งหมดที่ใช้กรอบงานนี้ สำหรับข้อมูลเพิ่มเติมดู SQL Writer Service

มันไม่ชัดเจนสำหรับฉัน โดยเฉพาะอย่างยิ่งถ้าสิ่งนี้ตัดทอนบันทึกธุรกรรมหรือไม่

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