โปรแกรมสำหรับสำรองข้อมูลเซิร์ฟเวอร์ SQL การคัดลอกฐานข้อมูล MS SQL Server

5 คำตอบ

ก็น่าจะมี วิธีอื่น ๆทำแต่ฉันมักจะคลิก คลิกขวาเลื่อนเมาส์ไปเหนือฐานข้อมูลแล้วเลือก "งาน → สำรองข้อมูล..." ด้วยประเภท การสำรองข้อมูล"เต็ม". หลังจากนี้คุณสามารถคัดลอกไฟล์ที่สร้างขึ้นไปยังคอมพิวเตอร์เป้าหมายและเชื่อมต่อได้ เซิร์ฟเวอร์ SQLในเซิร์ฟเวอร์ SQL สตูดิโอการจัดการคลิกขวาที่โฟลเดอร์ Databases และเลือก Restore Database เลือก "อุปกรณ์" และเลือกไฟล์ จากนั้นกู้คืน
อีกวิธีหนึ่งคือการสร้างสคริปต์ฐานข้อมูลใน SQL Server Management Studio (คลิกขวาที่ฐานข้อมูลจากนั้นคลิก "งาน -> สร้างสคริปต์ ... ") ในระหว่างกระบวนการนี้ จะมีขั้นตอนที่เรียกว่า "ตั้งค่าตัวเลือกการเขียนสคริปต์" ซึ่งคุณจะต้องคลิกที่ปุ่ม "ขั้นสูง" และดูตัวเลือกต่างๆ ให้ละเอียดยิ่งขึ้น คุณจะต้องเลือก "ข้อมูลและสคีมา" สำหรับตัวเลือก "ประเภทข้อมูลสำหรับสคริปต์" อย่างแน่นอน บางครั้งฉันชอบวิธีนี้หากฉันต้องการส่งผ่านโครงสร้างข้อมูลและข้อมูลจริงๆ

อัปเดต: ขออภัย ฉันลืมพูดถึงวิธีคืนค่าฐานข้อมูลสำหรับตัวเลือกการเขียนสคริปต์ ฉันมักจะสร้างสคริปต์โดยเลือก "บันทึกในหน้าต่างแบบสอบถามใหม่" ระหว่างขั้นตอน "ตั้งค่าตัวเลือกการเขียนสคริปต์" หลังจากสร้างสคริปต์แล้วให้ปล่อยทิ้งไว้สักครู่
บนเซิร์ฟเวอร์เป้าหมาย ให้สร้าง ฐานใหม่ข้อมูลที่มีชื่อเดียวกันกับสคริปต์ที่สร้างขึ้น หรือคุณสามารถสร้างสคริปต์สำหรับสิ่งนี้บนเซิร์ฟเวอร์ต้นทาง (คลิกขวาที่ฐานข้อมูลเลือก "ฐานข้อมูลสคริปต์เป็น -> สร้างไปยัง... -> คลิปบอร์ด") และรันสคริปต์นั้นโดยคลิกขวาที่โหนดเซิร์ฟเวอร์ในวัตถุ SSMS นักสำรวจเลือก " คำขอใหม่" โดยการวางสคริปต์ลงในกล่องพร้อมท์แล้วดำเนินการ ตัวเลือกที่สองนี้คือ ทางเลือกที่ดีที่สุดหากคุณต้องการสำเนาฐานข้อมูลที่สมบูรณ์ ไม่ใช่แค่ตัวข้อมูลเท่านั้น
เมื่อคุณไปตามถนนสายใดสายหนึ่งจากสองสายนี้ คุณต้องสร้างฐานข้อมูลใหม่ คลิกขวาที่ฐานข้อมูลนี้ใน Object Explorer และเลือก New Query จากนั้นคัดลอกและวางสคริปต์ที่มีโครงสร้างฐานข้อมูลและข้อมูลลงในหน้าต่างแบบสอบถามใหม่และเรียกใช้แบบสอบถาม นี่ควรทำเคล็ดลับ

คุณไม่สามารถคัดลอกฐานข้อมูลไปยังเครื่องอื่นได้ ได้ คุณสามารถสำรองข้อมูลบนคอมพิวเตอร์เครื่องเดียวกันและคัดลอกไปยังเครื่องอื่นและกู้คืนได้

หากต้องการสำรองข้อมูล ให้ทำตามขั้นตอนเหล่านี้:

  • คลิกขวาที่ฐานข้อมูลที่คุณต้องการสำรองข้อมูล
  • เลือกงาน → ย้อนกลับ
  • ที่จุดหมายปลายทางของคุณ เลือก เพิ่ม
  • ในชื่อไฟล์ ให้คลิกปุ่ม... และเลือกโฟลเดอร์ปลายทางที่คุณต้องการสร้างข้อมูลสำรอง ชื่อ backupname.bak คลิก ตกลง ตกลง และ ตกลง และรอให้กระบวนการสำรองข้อมูลเสร็จสิ้น คลิกตกลง

ตอนนี้คัดลอกไฟล์สำรองนี้ไปยังเพนไดรฟ์หรือสื่อใด ๆ แล้ววางลงในคอมพิวเตอร์เครื่องอื่นแล้วเปิด SQL Server 2008 R2

หากต้องการคืนค่าข้อมูลสำรอง ให้ทำตามขั้นตอนเหล่านี้:

  • คลิกขวาที่ฐานข้อมูล
  • เลือก "กู้คืนฐานข้อมูล"
  • ป้อนชื่อฐานข้อมูลที่คุณต้องการกู้คืนในช่องฐานข้อมูล
  • เลือก "จากอุปกรณ์" ในแหล่งการกู้คืน คลิก...
  • คลิกปุ่ม "เพิ่ม" เลือกไฟล์สำรองฐานข้อมูลที่คุณวาง คลิก "ตกลง", "ตกลง"
  • เลือกช่องทำเครื่องหมายกู้คืนในเลือกชุดข้อมูลสำรองสำหรับการกู้คืน
  • เปิดใช้งานตัวเลือกตรวจสอบการเขียนทับ ฐานที่มีอยู่ข้อมูลและบันทึกการตั้งค่าการจำลองแบบ (จำเป็นต้องตรวจสอบฟิลด์เหล่านี้หากคุณพยายามกู้คืนฐานข้อมูลที่อยู่ในอุปกรณ์อื่นนั้นอยู่แล้ว)
  • คลิกตกลง รอจนกว่าการกู้คืนจะเสร็จสมบูรณ์แล้วคลิกตกลง

บอกฉันหากคุณมีปัญหาใด ๆ

ตามรหัส

การสำรองข้อมูล:

ใช้ฐานข้อมูล_NAME; สำรองข้อมูลฐานข้อมูล DATABASE_NAME ไปยัง DISK = "D:\DATABASE_NAME.Bak" ด้วยรูปแบบ, MEDIANAME = "D_SQLServerBackups", NAME = "การสำรองข้อมูลเต็มรูปแบบของ DATABASE_NAME"; ไป

(หากคุณต้องการสำรองข้อมูลในโฟลเดอร์ใด ๆ จะต้องมีโฟลเดอร์นั้นอยู่ก่อนที่จะทำการสำรองข้อมูล)

คืนค่า:

ขั้นตอนที่ 1: แยกชื่อลอจิคัลของไฟล์ฐานข้อมูลออกจากการสำรองข้อมูล

กู้คืนไฟล์จากดิสก์ = "D: BackUpYourBaackUpFile.bak" GO

ขั้นตอนที่ 2: ใช้ค่าในคอลัมน์ LogicalName ในขั้นตอนถัดไป ---- สร้างฐานข้อมูลในโหมดผู้ใช้คนเดียว

แก้ไขฐานข้อมูล YourDB SET SINGLE_USER พร้อม ROLLBACK ทันที

กู้คืนฐานข้อมูล

คืนค่าฐานข้อมูล YourDB จาก DISK = "D:BackUpYourBaackUpFile.bak" ด้วยการย้าย "YourMDFLogicalName" ไปที่ "D:DataYourMDFFile.mdf" ย้าย "YourLDFLogicalName" เป็น "D:DataYourLDFFile.ldf"

/หากไม่มีข้อผิดพลาดในคำสั่งก่อนที่ฐานข้อมูลจะอยู่ในโหมดผู้ใช้หลายคน หากมีข้อผิดพลาดเกิดขึ้น ให้รันคำสั่งต่อไปนี้ ซึ่งจะแปลงฐานข้อมูลเป็นผู้ใช้หลายราย -

เปลี่ยนฐานข้อมูล YourDB SET MULTI_USER GO

การคัดลอกฐานข้อมูลโดยใช้การสำรองข้อมูลฐานข้อมูลแบบเต็มจะไม่คัดลอกธุรกรรมในบันทึกธุรกรรมออนไลน์

หากนี่เป็นสิ่งสำคัญ ใช้ขั้นตอนต่อไปนี้เพื่อปิดใช้งานฐานข้อมูล โหมดออฟไลน์, คัดลอก ไฟล์เอ็มดีเอฟและ LDF และแนบมาด้วย:

  • เลือกฐานข้อมูลใน SQL Server Management Studio คลิกขวาที่ฐานข้อมูลและเลือก Properties คัดลอกตำแหน่งของไฟล์ MDF และ LDF

2.คลิก ตกลง

3.หากต้องการคลิกฐานข้อมูลอีกครั้ง ให้เลือก งาน, ออฟไลน์

4. บี วินโดวส์เอ็กซ์พลอเรอร์คัดลอกไฟล์ MDF และ LDF โดยใช้ตำแหน่งที่พบในขั้นตอน #1

5.วางไว้ข้าง ๆ 6. ใน SQL Server Management Studio คลิกขวาที่อินสแตนซ์ SQL Server และเลือก แนบ

7. ในกล่องโต้ตอบถัดไป คลิก เพิ่มค้นหาไฟล์ที่คัดลอก เลือกแล้วคลิก ตกลง 8.เปลี่ยนชื่อเริ่มต้นที่แนะนำในช่อง แนบ AS- ป้อนชื่อใหม่สำหรับฐานข้อมูลของคุณที่นี่

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

ตัวฐานข้อมูลมีโมเดลการกู้คืนอยู่ 3 รูปแบบ ได้แก่ แบบง่าย แบบสมบูรณ์ และแบบบันทึกเป็นกลุ่ม พิจารณา:

  1. โมเดลอย่างง่าย - ใช้เฉพาะความซ้ำซ้อนทั้งหมดเท่านั้น ไม่มีความแตกต่าง การสำรองข้อมูลตลอดจนการสำรองข้อมูลบันทึกธุรกรรม สำเนาเต็มจำเป็นต้องสร้างบ่อยที่สุด เกี่ยวข้องกับฐานข้อมูลที่ใช้ "อ่านอย่างเดียว"
  2. แบบอย่าง ฟื้นตัวเต็มที่(เต็ม) - รุ่นที่ใช้มากที่สุดซึ่งมีฟังก์ชั่นการสำรองและกู้คืนข้อมูลทั้งหมด รองรับการฟื้นตัว แต่ละหน้าข้อมูล. ธุรกรรมได้รับการบันทึกอย่างสมบูรณ์และบันทึกธุรกรรมจะถูกบันทึกไว้
  3. โมเดลที่บันทึกจำนวนมากมีจุดมุ่งหมายเพื่อเป็นส่วนเสริมของโมเดลการกู้คืนแบบเต็ม การดำเนินการจำนวนมากส่วนใหญ่ไม่รองรับการบันทึก ดังนั้นจึงไม่รองรับการกู้คืนฐานข้อมูล ณ เวลาใดเวลาหนึ่ง

มาดูห่วงโซ่การสำรองข้อมูลล่าสุด: ยอดจองเต็ม- สัปดาห์ละครั้ง การสำรองข้อมูลส่วนต่าง - วันละครั้ง การสำรองข้อมูลบันทึกธุรกรรม - ชั่วโมงละครั้ง
มีหลายตัวเลือกสำหรับการสร้างข้อมูลสำรอง:

  • การใช้ตัวกำหนดเวลางาน MS SQL ในตัว
  • การใช้ภาษา Transact-SQL
  • ใช้ sqlcmd และ OS Task Scheduler
  • ด้วยตนเอง (ซึ่งไม่เหมาะกับเรา เนื่องจากผู้ดูแลระบบที่ทำงานต้องยุ่งอยู่ตลอดเวลา)

พิจารณาตัวเลือกแรกว่ามีประโยชน์มากที่สุด เพื่อจุดประสงค์นี้จึงถูกนำมาใช้ วินโดวส์เซิร์ฟเวอร์ 2008 R2 Enterprise และ MS SQL Server 2008 ภาษาอังกฤษ

สมมติว่าเรามีฐานข้อมูล TECH:

มาดูเครื่องมือสร้างงานกันดีกว่า:

กดปุ่มเมาส์ขวาแล้วโทรหา Master Joba:
เลือกช่องทำเครื่องหมาย " แยกการดำเนินการแต่ละงาน" เราดำเนินการเพียงครั้งเดียวเท่านั้น

อาจารย์ไม่มีผ้าโพกหัว แต่ขนาดของผ้าโพกหัวไม่ใช่สิ่งสำคัญ)) ในกรณีของเราเราเลือกประเภทความปรารถนา - การจองเต็ม:

ปรากฎว่าอาจารย์โจบาเป็นชาวยิวนิดหน่อย เขาจึงถามอีกครั้ง:

“มันคุ้มค่าที่จะเลือกพารามิเตอร์เพิ่มเติม โอ้ หนุ่มปัดดาวัน!”:
ที่นี่เราเลือกฐานข้อมูล ระยะเวลาจัดเก็บข้อมูลสำรอง ที่อยู่ (เทปหรือดิสก์) เส้นทางการบันทึก และที่สำคัญที่สุด - ตัวกำหนดเวลางาน!

“คุณไม่ควรลืมเกี่ยวกับฐานข้อมูลเมื่อเลือกฐานข้อมูลของคุณ รวบรวมความแข็งแกร่งของคุณและเลือกฐานข้อมูล”:

“คุณกำลังรีบที่จะสร้างงานเร็วเกินไป คลิกที่ปุ่มด้านล่างที่มีชื่อ Shedule - Define”
จริงๆ แล้วตัวกำหนดเวลางานที่เราเลือกประเภท (ทำซ้ำ หนึ่งครั้ง ฯลฯ) วัน เวลา ประเภทการเริ่มต้น:

แค่นั้นแหละ เราสร้างมันขึ้นมา อาจารย์ Joba เท่และเขียว เราดูที่สถานะในแผนการบำรุงรักษา:

สำหรับผู้ที่หวาดระแวงอย่ากลัวที่จะยอมรับมันต่อหน้ากระจก มันคุ้มค่าที่จะมองเข้าไปในจิตวิญญาณของตัวแทนเซิร์ฟเวอร์ SQL - การตรวจสอบกิจกรรมงาน ตัวช่วยสร้างงานจะแสดงรายละเอียดทุกอย่างให้คุณ:

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

ในบทความถัดไป - การสร้างโดยใช้ Transact-SQL และตัวอย่างบางส่วน

ฟังก์ชันการทำงานที่กว้างขวางของ Bacula Enterprise Edition ช่วยให้คุณสามารถสร้างการสำรองฐานข้อมูลสำหรับ . ตัวอย่างเช่น, เรากำลังพูดถึงเกี่ยวกับเครื่องมือที่คุณสามารถสำรองข้อมูล MS SQL Server ทำการสำรองข้อมูล MS ผู้ใช้ SQLอาจจะด้วยการสร้าง การสำรองข้อมูลฐานข้อมูล MS SQL เฉพาะ ปริมาณมาก, ใช้แล้ว แพลตฟอร์มวินโดวส์ด้วยต้นทุนซอฟต์แวร์ที่ต่ำกว่า ผู้ผลิตบุคคลที่สามโดยสามารถกู้คืนข้อมูลได้สูงสุดถึง จุดใดจุดหนึ่งเวลา (การกู้คืน PITR) บนเครือข่ายและ ดิสก์ภายในเครื่อง.

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

สคริปต์สำรองข้อมูล MS SQL Bacula Systems ทำงานโดยอิสระจาก VSS ซึ่งหมายความว่าเครื่องมือสำรองข้อมูล MS SQL ไม่ได้ใช้สแน็ปช็อต VSS เพื่อสร้างการสำรองข้อมูล ดังนั้นผู้ใช้สามารถตั้งค่าได้ ค่าถัดไป“เปิดใช้งาน VSS = ไม่” ใน Bacula FileSet การสร้างที่มีประสิทธิภาพการสำรองข้อมูล MS SQL Server และการคืนค่าโดยใช้ การตัดสินใจครั้งนี้สามารถทำได้โดยผ่าน โดยใช้ไมโครซอฟต์ API สำหรับเซิร์ฟเวอร์ SQL สิ่งนี้ทำให้ Bacula Systems สามารถรองรับกลไกการรักษาความปลอดภัยและมีการใช้การรับรองความถูกต้องทุกประเภท ไมโครซอฟต์ เอสคิวแอลเซิร์ฟเวอร์

การสำรองข้อมูลบันทึกธุรกรรม MS SQL และการกู้คืนช่วงเวลา MS SQL: ซอฟต์แวร์ Bacula Enterprise Edition ช่วยให้คุณสามารถกู้คืนบล็อกข้อมูล MS SQL หรือ การตั้งค่าเฉพาะจนถึงจุดหนึ่งของเวลา ด้วยการใช้โมเดลการกู้คืนแบบเต็มรูปแบบและแบบบันทึกจำนวนมาก คุณสามารถกู้คืน MS SQL ได้โดยใช้การกู้คืน PITR หรือใช้ LSN เพื่อกู้คืนระบบเป็นสถานะเฉพาะ คุณสามารถกู้คืนสถานะเฉพาะของฐานข้อมูล MS SQL ณ เวลาใดเวลาหนึ่งได้ จนถึงวินาทีนั้น ในกรณีของการสำรองข้อมูลบันทึกธุรกรรม MS SQL เมื่อทำการกู้คืน สถานะของฐานข้อมูลจะถูกกู้คืนจากการสำรองข้อมูลที่เลือกต่างๆ

คุณสมบัติโดยสรุป
 การสำรองข้อมูลและการกู้คืน MS SQL อัตโนมัติด้วย Bacula Enterprise

Bacula Systems ได้สร้างปลั๊กอินสำหรับการสำรองข้อมูล MS SQL Server การแบ่งปันด้วย Bacula Enterprise Edition การสำรองข้อมูล MS SQL Server ด้วย Bacula มีคุณสมบัติดังต่อไปนี้:

  • รองรับการสำรองข้อมูล MS SQL แบบเต็มและส่วนต่าง
  • รองรับการสำรองข้อมูลส่วนเพิ่ม MS SQL
  • การสำรองข้อมูล MS SQL ไปยังเครือข่ายและไดรฟ์ในเครื่อง
  • การสำรองข้อมูล MS SQL ตามกำหนดเวลา
  • การสร้างการสำรองข้อมูลในระดับฐานข้อมูล MS SQL Server
  • ความสามารถในการรวม/แยกฐานข้อมูลออกจากขั้นตอนการสร้างการสำรองข้อมูล
  • รองรับการสร้างการสำรองฐานข้อมูลแบบอ่านอย่างเดียว
  • การกู้คืนข้อมูลสำรอง MS SQL ไปยังดิสก์
  • การส่งสตรีมสำรองโดยตรงไปยัง Storage Daemon
  • การกู้คืนเวลาแบบจุด MS SQL

ตรวจสอบและกำหนดค่าการสำรองข้อมูล MS SQL 2008, 2008 R2, 2012 และ 2014

ใน เอกสารนี้โซลูชันที่นำเสนอสำหรับ Bacula Enterprise Edition 8.4 และใหม่กว่า รุ่นที่ใหม่กว่าซึ่งไม่รองรับ รุ่นก่อนหน้าโดย. การสำรองฐานข้อมูล MS SQL ได้รับการทดสอบและรองรับโดย MS SQL 2003 R2, MS SQL 2008 R2, MS SQL 2012, MS SQL 2005, MS SQL 2008, MS SQL 2014 การสำรองข้อมูล MS SQL จาก Bacula สามารถทำงานกับ SQL Express ได้

อภิธานศัพท์การสำรองข้อมูล MS SQL 2008, 2008 R2, 2012 และ 2014

  • เอ็มเอสเอสแอลย่อมาจาก Microsoft SQL Server
  • บันทึกการทำธุรกรรมฐานข้อมูล MS SQL Server ใดๆ จะมีบันทึกธุรกรรม ซึ่งจะบันทึกธุรกรรมและการแก้ไขฐานข้อมูลทั้งหมดที่ดำเนินการระหว่างธุรกรรมดังกล่าว บันทึกการทำธุรกรรม – องค์ประกอบที่สำคัญดีบี. ในกรณีที่ระบบล้มเหลว อาจจำเป็นต้องมีบันทึกธุรกรรมเพื่อคืนค่าฐานข้อมูลให้กลับสู่สถานะการทำงาน มากกว่า ข้อมูลรายละเอียดคุณจะพบได้ที่ลิงค์https://msdn.microsoft.com/en-us/library/ms190925.aspx
  • การสำรองข้อมูลส่วนต่างของฐานข้อมูล MS SQL Serverการสำรองข้อมูลส่วนต่างจะขึ้นอยู่กับการสำรองข้อมูลเต็มรูปแบบครั้งล่าสุด ในระหว่างการสำรองข้อมูลส่วนต่าง เฉพาะข้อมูลที่เปลี่ยนแปลงตั้งแต่สร้างการสำรองข้อมูลเต็มรูปแบบครั้งล่าสุดเท่านั้นที่จะถูกบันทึก สามารถดูข้อมูลเพิ่มเติมได้ที่https://msdn.microsoft.com/en-us/library/ms175526.aspx
  • การสำรองข้อมูลฐานข้อมูล MS SQL Server เต็มรูปแบบในระหว่างการสำรองข้อมูลฐานข้อมูลทั้งหมด สำเนาสำรองของฐานข้อมูลทั้งหมดจะถูกสร้างขึ้น การสำรองข้อมูลจะรวมส่วนหนึ่งของบันทึกธุรกรรมเพื่อวัตถุประสงค์ในการกู้คืนฐานข้อมูลทั้งหมดจากการสำรองข้อมูล การสำรองฐานข้อมูลแบบเต็มประกอบด้วยฐานข้อมูล ณ เวลาที่การสำรองข้อมูลเสร็จสมบูรณ์ สามารถดูข้อมูลเพิ่มเติมได้ที่https://msdn.microsoft.com/en-us/library/ms186289.aspx
  • สำรองข้อมูล "คัดลอกเท่านั้น" (CopyOnly)การสำรองข้อมูลแบบคัดลอกอย่างเดียวคือการสำรองข้อมูล MS SQL ที่ไม่ขึ้นอยู่กับโฟลว์ปกติของการสำรองข้อมูล SQL Server แบบดั้งเดิม บางครั้งการสร้างการสำรองข้อมูลสำหรับความต้องการพิเศษโดยไม่ส่งผลกระทบก็มีประโยชน์ กระบวนการทั่วไปการสำรองและกู้คืนฐานข้อมูล สามารถดูข้อมูลเพิ่มเติมได้ที่https://msdn.microsoft.com/en-us/library/ms191495.aspx
  • วีดีไอ(อินเทอร์เฟซ อุปกรณ์เสมือน) - นี้ เทคโนโลยีของไมโครซอฟต์ให้คุณสร้างสรรค์ได้ ชื่อไปป์ระหว่างโปรแกรม
  • มาสก์มาตรฐานระบุชุดของแถวด้วย ไวด์การ์ด- ตัวอย่างเช่น มาสก์การผลิตมาตรฐาน* จะรวมรายการการผลิต1 และการผลิต2
  • เส้น
  • จำนวนเต็ม.
  • แอลเอสเอ็นแต่ละรายการในบันทึกธุรกรรม MS SQL Server จะถูกระบุโดยไม่ซ้ำกัน หมายเลขทะเบียนธุรกรรม (LSN) ข้อมูลรายละเอียดเพิ่มเติมสามารถพบได้ที่ https://technet.microsoft.com/en-us/library/ms190411%28v=sql.105%29.aspx

สำรองข้อมูล MS SQL Server 2008, 2008 R2, 2012 และ 2014

การสำรองข้อมูลเต็มรูปแบบของฐานข้อมูล MS SQL Server 2008, 2008 R2, 2012 และ 2014

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

การสำรองข้อมูลส่วนต่างของฐานข้อมูล MS SQL Server 2008, 2008 R2, 2012 และ 2014

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

การสำรองข้อมูลบันทึกธุรกรรมของ MS SQL 2008, 2008 R2, 2012 และ 2014

ฟังก์ชั่นการสร้างการสำรองข้อมูลบันทึกธุรกรรม MS SQL ถูกนำมาใช้ในระดับที่เพิ่มขึ้นโดยใช้ซอฟต์แวร์ Bacula ฐานข้อมูล MS SQL ต้องได้รับการกำหนดค่าโดยใช้โมเดลการกู้คืนแบบเต็มและแบบบันทึกจำนวนมาก หากใช้ MS SQL โมเดลที่เรียบง่ายการกู้คืน ไฟล์บันทึกธุรกรรมจะถูก "ตัดทอน" หลังจากแต่ละจุดตรวจสอบ และการสำรองข้อมูลบันทึกธุรกรรมจะไม่อนุญาตให้กู้คืนไปยังจุดเฉพาะที่เลือก เช่น การกู้คืน PITR จะสามารถกู้คืนฐานข้อมูล MS SQL ได้อย่างสมบูรณ์ แต่ไม่สามารถเลือกได้ จุดควบคุม- สามารถดูข้อมูลเพิ่มเติมได้ที่https://msdn.microsoft.com/en-us/library/ms189275.aspx

การตั้งค่าการสำรองข้อมูล MS SQL และการกำหนดค่าฐานข้อมูล

คุณควรสร้างสำเนาสำรองของฐานข้อมูลหลักเสมอ หากฐานข้อมูลหลักได้รับความเสียหายในทางใดทางหนึ่ง เช่น เนื่องจากสื่อล้มเหลว อาจไม่สามารถเปิดใช้งานอินสแตนซ์ MS SQL ได้ ในกรณีนี้ จำเป็นต้องกู้คืนฐานข้อมูลหลัก จากนั้นจึงกู้คืนฐานข้อมูลจากสำเนาสำรองเท่านั้น เป็นไปได้ที่จะสร้างเฉพาะการสำรองข้อมูลเต็มรูปแบบของฐานข้อมูล MS SQL ข้อมูลรายละเอียดเพิ่มเติมสามารถพบได้ที่https://technet.microsoft.com/en-s/library/aa213839%28v=sql.80%29.aspx

การกู้คืนฐานข้อมูล MS SQL จากการสำรองข้อมูล

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

ตัวเลือกสำหรับการกู้คืนฐานข้อมูล MS SQL จากการสำรองข้อมูล

ซอฟต์แวร์ Bacula Enterprise Edition อนุญาตให้ผู้ใช้ใช้ตัวเลือกการกู้คืน MS SQL หลายตัวและใช้งานได้มากที่สุด วิธีต่างๆ"ย้อนกลับ" ของฐานข้อมูล ตัวเลือกการกู้คืนที่ใช้บ่อยที่สุดมีอธิบายไว้ด้านล่าง:

  • โดยที่พารามิเตอร์: ในกรณีของ Bacula Enterprise Edition พารามิเตอร์นี้อนุญาตให้ผู้ดูแลระบบกู้คืนฐานข้อมูลไปยังตำแหน่งเฉพาะได้
  • แทนที่พารามิเตอร์: ใช้เพื่อกำหนดวิธีที่ Bacula ควรทำงานกับฐานข้อมูลปัจจุบันเมื่อกู้คืน การสำรองข้อมูล MS SQL ของ Bacula ยังช่วยให้คุณใช้ตัวเลือกเพิ่มเติมได้หลายอย่างเมื่อทำการกู้คืน เช่น:
  • อินสแตนซ์: เนื่องจาก MS SQL ใช้หลายอินสแตนซ์ การสำรองฐานข้อมูล MS SQL จาก Bacula ช่วยให้คุณสามารถเลือกอินสแตนซ์ที่จะกู้คืนได้ พารามิเตอร์นี้เป็นทางเลือก และหากไม่ได้ระบุไว้ ระบบจะใช้ค่าที่ระบุเมื่อสร้างการสำรองข้อมูลเมื่อทำการกู้คืน ตามค่าเริ่มต้น จะใช้อินสแตนซ์ชื่อ "MSSQLSERVER"
  • ฐานข้อมูล ตัวเลือกนี้ระบุชื่อของฐานข้อมูลที่จะกู้คืนและใช้ค่าที่ระบุในขณะที่สร้างฐานข้อมูล พารามิเตอร์นี้เป็นทางเลือก ตามค่าเริ่มต้น การสำรองข้อมูลฐานข้อมูล SQL Server จะใช้พารามิเตอร์ Where เพื่อกำหนดชื่อของฐานข้อมูลใหม่ หากทั้งพารามิเตอร์ Where และ Database ได้รับการกำหนดชื่อฐานข้อมูลที่ถูกต้อง พารามิเตอร์ Database จะถูกนำมาใช้
  • ผู้ใช้. ชื่อผู้ใช้ที่ใช้เชื่อมต่อกับอินสแตนซ์ฐานข้อมูล MS SQL พารามิเตอร์นี้เป็นทางเลือก และหากไม่ได้ระบุ ค่าที่ระบุเมื่อสร้างการสำรองข้อมูลจะถูกใช้เมื่อทำการกู้คืน
  • รหัสผ่าน. รหัสผ่านที่ใช้เชื่อมต่อกับอินสแตนซ์ฐานข้อมูล MS SQL พารามิเตอร์นี้เป็นทางเลือก และหากไม่ได้ระบุ ค่าที่ระบุเมื่อสร้างการสำรองข้อมูลจะถูกใช้เมื่อทำการกู้คืน
  • โดเมน. โดเมนที่ใช้เชื่อมต่อกับอินสแตนซ์ฐานข้อมูล MS SQL พารามิเตอร์นี้เป็นทางเลือก และหากไม่ได้ระบุ ค่าที่ระบุเมื่อสร้างการสำรองข้อมูลจะถูกใช้เมื่อทำการกู้คืน
  • การกู้คืน. พารามิเตอร์ช่วยให้คุณกำหนดได้ว่าฐานข้อมูลจะถูกย้อนกลับหรือไม่ สถานะก่อนหน้าระหว่างพักฟื้นหรือไม่ ตามค่าเริ่มต้น เมื่อกู้คืนฐานข้อมูล ฐานข้อมูลจะย้อนกลับไปสู่สถานะก่อนหน้า
  • Stop_before_mark. เงื่อนไขที่มี STOPBEFOREMARK = ใช้เพื่อระบุว่ารายการบันทึกธุรกรรมที่อยู่ข้างหน้าแฟล็กเป็นจุดคืนค่าทันที จุดกู้คืนอาจเป็นวันที่และเวลา LSN หรือแฟล็ก mark_name
  • หยุด_at_mark เงื่อนไขที่มีเครื่องหมายหยุด = ใช้เพื่อระบุว่าธุรกรรมที่ทำเครื่องหมายไว้เป็นจุดกู้คืน STOPATMARK เคลื่อนไปข้างหน้าสู่ธงและเล่นซ้ำธุรกรรมที่ทำเครื่องหมายไว้ จุดกู้คืนอาจเป็นวันที่และเวลา LSN หรือแฟล็ก mark_name
  • หยุด_at= - เงื่อนไขที่มี STOPAT = ใช้เพื่อระบุว่าจุดคืนค่าคือวันที่/เวลา
  • จำกัด_ผู้ใช้ ส่วนคำสั่ง WITH RESTRICT_USER ใช้เพื่อจำกัดการเข้าถึงฐานข้อมูลที่ถูกเรียกคืน ค่าเริ่มต้นคือไม่

ในโปรแกรมที่สร้างโดย Bacula Systems การตั้งค่าการสำรองข้อมูล MS SQL จะอยู่ที่แท็บการกู้คืน

รูปที่ 1: แท็บการกู้คืนฐานข้อมูลเมื่อใช้โปรแกรม BWeb Management Suite

การกู้คืนเวลาแบบจุด MS SQL

คำถามนี้ใช้กับฐานข้อมูล SQL ที่ใช้โมเดลการกู้คืนแบบเต็มและแบบบันทึกจำนวนมากเท่านั้น ในกรณีของโมเดลการกู้คืนที่บันทึกจำนวนมาก หากการสำรองข้อมูลบันทึกมีการเปลี่ยนแปลงที่เกิดขึ้นระหว่างการดำเนินการ การประมวลผลจำนวนมากข้อมูลจะไม่สามารถกู้คืนไปยังจุดใดก็ได้ภายในการสำรองข้อมูลนี้ ฐานข้อมูลจะต้องได้รับการคืนค่าจนถึงจุดสิ้นสุดของบันทึกธุรกรรมที่มีการสร้างการสำรองข้อมูล สามารถดูข้อมูลเพิ่มเติมได้ที่https://msdn.microsoft.com/en-us/library/ms179451.aspx

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

แอลเอสเอ็น

หมายเลข LSN ใช้เพื่อสร้างลำดับการกู้คืน MS SQL เพื่อติดตามช่วงเวลาที่มีการกู้คืนข้อมูล เมื่อกู้คืน MS SQL จากการสำรองข้อมูล ข้อมูลจะถูกกู้คืนเป็นหมายเลข LSN ที่สอดคล้องกับช่วงเวลาที่ทำการสำรองข้อมูล สามารถดูข้อมูลเพิ่มเติมได้ที่https://msdn.microsoft.com/en-us/library/ms190925.aspx

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

  • เมื่อแสดงคำอธิบายงานสำหรับสร้างการสำรองข้อมูลโดยใช้ซอฟต์แวร์ Bacula
  • ในชื่อไฟล์บันทึก
  • ในตาราง msdb.backupset
  • ในตาราง msdb.backupfile

เมื่อดำเนินการงานเพื่อสร้างการสำรองข้อมูลของฐานข้อมูล MS SQL คำอธิบายงานจะปรากฏขึ้นเมื่อแสดง ข้อมูลต่อไปนี้เกี่ยวกับหมายเลข LSN:

ตัวเลข LSN ตัวแรกสอดคล้องกับหมายเลข LSN สุดท้ายของการสำรองข้อมูลบันทึกธุรกรรมครั้งล่าสุด การสำรองข้อมูลดังกล่าวอาจเป็นการสำรองข้อมูลเต็มรูปแบบครั้งแรกหรือการสำรองข้อมูลครั้งสุดท้าย (ส่วนเพิ่ม)

ตัวเลข LSN สุดท้ายตรงกับธุรกรรมล่าสุดที่บันทึกไว้ในสมุดรายวัน

ในกรณีของการสำรองข้อมูลบันทึกธุรกรรม (ส่วนเพิ่ม) ชื่อของไฟล์ที่เกี่ยวข้องกับฐานข้อมูลนี้ในงานสำหรับการสร้างการสำรองข้อมูลส่วนเพิ่มจะมีลักษณะดังนี้:

หมายเลขในชื่อในกรณีของเรา 42000162001, สอดคล้องกับหมายเลข LSN สุดท้ายของงานก่อนหน้า (เพื่อสร้างการสำรองข้อมูลทั้งหมดหรือส่วนเพิ่ม)

รูปที่ 2: LSN แรก หมายเลขสุดท้ายหมายเลข LSN และ LSN ในชื่อไฟล์

ดังที่แสดงในตัวอย่างในรูปที่ 2 หากผู้ดูแลระบบจำเป็นต้องกู้คืนฐานข้อมูล MS SQL ให้เป็นสถานะที่สอดคล้องกับหมายเลข LSN 14 การดำเนินการต่อไปนี้สามารถทำได้:

  • ในเมนูการกู้คืนฐานข้อมูล ให้ใช้อ็อพชัน 5
  • เลือก ไฟล์สุดท้ายสำรองข้อมูลทั้งหมด “data.bak” (LSN: 10)
  • เลือกการสำรองข้อมูลส่วนเพิ่ม “log-10.trn”

หรือหากไม่มีการสำรองข้อมูลแบบเต็มล่าสุดของ MS SQL Server แต่การสำรองข้อมูลแบบเต็มก่อนหน้านี้พร้อมใช้งาน ดังนั้น:

  • ใช้อ็อพชันการเรียกคืน 3 เลือกค่า jobids ที่เหมาะสม
  • เลือกไดเรกทอรีฐานข้อมูล “/@mssql/db29187”
  • เลือกไฟล์สำรองข้อมูลแบบเต็ม “data.bak” (LSN: 2)
  • เลือกการสำรองข้อมูลส่วนเพิ่ม “log-2.trn”, “log-3.trn”, “log-10.trn”
  • ตั้งค่าพารามิเตอร์ stop_at_mark เป็น “lsn:14”
  • รันงานเพื่อกู้คืนข้อมูลสำรอง

สคริปต์การกู้คืน MS SQL

คำอธิบาย ที่ไหน ฐานข้อมูล ตัวอย่าง
กู้คืนไฟล์ไปยังดิสก์ เส้นทาง โดยที่=c:/tmp
คืนค่าฐานข้อมูลดั้งเดิม ที่ไหน=/
คืนค่าด้วยชื่อใหม่ ชื่อ โดยที่=newdb
คืนค่าด้วยชื่อใหม่ ชื่อ ฐานข้อมูล=newdb
กู้คืนด้วยชื่อใหม่และย้ายไฟล์ ชื่อ

ตารางที่ 1: สถานการณ์การกู้คืน MS SQL

2.3.1 การกู้คืนฐานข้อมูล MS SQL ด้วยชื่อเดิม

หากต้องการคืนค่าฐานข้อมูลด้วยชื่อเดิมให้เลือกตัวเลือก ที่ไหนไม่ต้องระบุ ( ค่าว่าง) หรือต้องตั้งค่า “/” และพารามิเตอร์ แทนที่จะต้องได้รับการกำหนดค่า เสมอหรือคุณต้องลบฐานข้อมูลต้นทางก่อน

การกู้คืนข้อมูลสำรอง MS SQL ด้วยชื่อใหม่

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

หากฐานข้อมูลต้นทางไม่พร้อมใช้งานอีกต่อไป พารามิเตอร์ดังกล่าว ที่ไหนหรือช่อง "ตัวเลือกปลั๊กอิน" อาจมีชื่อของฐานข้อมูลใหม่ การสำรองข้อมูล MS SQL จาก Bacula จะสร้างฐานข้อมูลด้วยชื่อใหม่โดยอัตโนมัติ

หากยังจำเป็นต้องใช้ฐานข้อมูลดั้งเดิม พารามิเตอร์ Where จะถูกใช้เพื่อย้ายไฟล์ไปยังดิสก์ และคุณจะต้องตั้งชื่อฐานข้อมูลใหม่โดยใช้เมนูตัวเลือกปลั๊กอิน ในแผนผังการกู้คืน คุณต้องเลือกไฟล์layout.dat

การใช้แคตตาล็อกของฉัน

รันงานการกู้คืน MS SQL:

ใช้ My Catalog รันงานการกู้คืนฐานข้อมูล MS SQL:

กู้คืน MS SQL ไปยังดิสก์ภายในเครื่อง

หากคุณระบุ โดยที่=c:/เส้นทาง/ไฟล์จะถูกกู้คืนไปยังดิสก์ในเครื่อง และผู้ดูแลระบบฐานข้อมูล MS SQL จะสามารถใช้ส่วนขยายขั้นตอน TSQL สำหรับคอนโซลการจัดการเซิร์ฟเวอร์ Microsoft SQL เพื่อกู้คืนฐานข้อมูล คำสั่ง SQLที่จำเป็นในการกู้คืนฐานข้อมูลแสดงอยู่ในคำอธิบาย ผลผลิตงานดังแสดงในภาพด้านล่าง

การกู้คืนฐานข้อมูล "ต้นแบบ" ของ MS SQL

คำแนะนำในการกู้คืนฐานข้อมูล "หลัก" มีรายละเอียดอยู่ในหน้า: https://technet.microsoft.com/en-us/library/aa213839%28v=sql.80%29.aspx

ฐานข้อมูล MS SQL อยู่ในสถานะการกู้คืน

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

MS SQL Server 2000 แม้จะมีอายุขั้นสูง แต่ก็ยังมีการใช้งานอย่างแข็งขันในประเทศของเราส่วนใหญ่ต้องขอบคุณระบบ 1C:Enterprise 7.7 ซึ่งใช้งานได้กับเซิร์ฟเวอร์ SQL เวอร์ชันนี้เท่านั้น สิ่งสำคัญประการที่สอง หลังจากดำเนินการได้อย่างต่อเนื่องแล้ว ก็เป็นภารกิจสำหรับ ผู้ดูแลระบบคือองค์กรที่สำรองข้อมูลได้ทันท่วงที เราจะพิจารณาปัญหานี้ในบทความนี้

MS SQL Server 2000 เช่นเดียวกับเซิร์ฟเวอร์อื่นๆ ผลิตภัณฑ์ไมโครซอฟต์มี เครื่องมือมาตรฐานการสำรองข้อมูลซึ่งมีความสามารถเพียงพอสำหรับงานประจำวัน เราจะไม่ทำซ้ำมัน กฎทั่วไปซึ่งควรปฏิบัติตามเมื่อพัฒนานโยบายการสำรองข้อมูล แต่เราแนะนำเป็นอย่างยิ่ง

เรามาฝึกกันต่อ เปิดตัวกันเลย ผู้จัดการองค์กร.

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

ตอนนี้เพื่อไม่ให้รีบูตเซิร์ฟเวอร์มาเริ่มกันเลย บริษัทตัวแทนเซิร์ฟเวอร์ SQLด้วยตนเอง เมื่อต้องการทำเช่นนี้ ให้ขยายโฟลเดอร์ การจัดการและเปิด Agent ด้วยปุ่มเมาส์ขวา เลือก เริ่มในเมนูแบบเลื่อนลง

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

กำหนดการไม่ควรมีปัญหาใดๆ เป็นพิเศษ ทุกอย่างชัดเจนมาก เราได้ตั้งค่าการคัดลอกทุกวันเวลา 21:00 น. เริ่มวันที่ 31 มีนาคม

ในแท็บถัดไป ให้เลือกโฟลเดอร์สำหรับจัดเก็บสำเนาสำรอง (เป็นที่ต้องการอย่างมากว่าเป็นไฟล์ภายนอกหรือไฟล์ ไดรฟ์เครือข่าย- หากเราสร้าง (วางแผนที่จะสร้าง) สำเนาของฐานข้อมูลมากกว่าหนึ่งฐานข้อมูล เราสามารถทำเครื่องหมายที่ช่องเพื่อสร้างโฟลเดอร์ย่อยสำหรับแต่ละฐานข้อมูลโดยอัตโนมัติ และที่นี่เราจะกำหนดระยะเวลาการจัดเก็บสำหรับสำเนาสำรอง เราไม่เห็นว่าการเก็บสำเนาไว้นานเกิน 1 เดือนจึงไม่มีประโยชน์ เราจึงกำหนดระยะเวลาไว้เป็น 4 สัปดาห์

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

เราปล่อยให้การตั้งค่าที่เหลือเป็นค่าเริ่มต้นและเฉพาะในแท็บสุดท้ายเท่านั้นที่เราเปลี่ยนชื่อแผนเป็นสิ่งที่เข้าใจได้เพื่อความสะดวกของเราเอง

ตอนนี้เราเปิดเผย บริษัทตัวแทนเซิร์ฟเวอร์ SQLและเลือกรายการ งานเราตรวจสอบให้แน่ใจว่ามีงานสองอย่างที่นั่น เราเปิดใช้งานด้วยตนเอง (RMB - เริ่มงาน) และตรวจสอบว่าดำเนินการอย่างถูกต้อง เพียงเท่านี้เราก็สามารถนอนหลับได้อย่างสงบสุขแล้ว การสำรองข้อมูลก็ถูกตั้งค่าไว้

หากต้องการคืนค่าฐานข้อมูลจากข้อมูลสำรอง ให้คลิกขวาที่ฐานข้อมูลที่ต้องการแล้วเลือก งานทั้งหมดคือการคืนค่าฐานข้อมูล

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

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

เรายังคงพูดคุยเกี่ยวกับการสำรองข้อมูลและวันนี้เราจะเรียนรู้ สร้างไฟล์เก็บถาวรของฐานข้อมูล MS SQL Server 2008- เราจะพิจารณาทุกอย่างตามปกติโดยใช้ตัวอย่างโดยใช้ทั้งอินเทอร์เฟซแบบกราฟิกและ โดยใช้ SQLขอและตั้งค่าอัตโนมัติด้วย การสร้างข้อมูลสำรองโดยใช้แบตช์ไฟล์.

เราจะไม่กลับไปสู่ประเด็นความสำคัญของการสำรองฐานข้อมูลเนื่องจากเราได้หยิบยกหัวข้อนี้มาแล้วมากกว่าหนึ่งครั้ง ตัวอย่างเช่นในเนื้อหา:

และในบทความที่แล้วฉันบอกว่าเราจะพิจารณาความเป็นไปได้ในการสร้างไฟล์เก็บถาวรบน MS SQL Server 2008 DBMS ดังนั้นตอนนี้เราจะทำเช่นนั้น

และเนื่องจากมีทฤษฎีมากมายอยู่แล้ว เรามาฝึกฝนกันต่อทันที นั่นคือการสร้างฐานข้อมูลสำรอง

บันทึก! ดังที่คุณเห็นชื่อบทความ เราจะดำเนินการเก็บบทความต่อไป ไมโครซอฟต์ ดีบีเอ็มเอส SQL 2008 โดยใช้ Management Studio เซิร์ฟเวอร์ตั้งอยู่ในเครื่อง ระบบปฏิบัติการวินโดวส์ 7

วิธีสร้างไฟล์เก็บถาวรของฐานข้อมูลเซิร์ฟเวอร์ SQL

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

เปิด Management Studio ขยาย “ ฐานข้อมูล", เลือก ฐานที่จำเป็นคลิกขวาที่มันแล้วเลือก งาน -> สร้างการสำรองข้อมูล

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

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\

ตัวอย่างเช่น ฉันเปลี่ยนเป็น C:\temp\ และตั้งชื่อไฟล์เก็บถาวร test_arh.bak

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

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

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

การสร้างไฟล์เก็บถาวรของฐานข้อมูลเซิร์ฟเวอร์ SQL โดยใช้แบบสอบถาม

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

ประกาศ @path เป็น varchar(200) set @path = N"C:\temp\test_arh_" + CONVERT(varchar(10), getdate(), 104) + ".bak" สำรองข้อมูลฐานข้อมูลไปยัง DISK = @path พร้อม NOFORMAT, INIT, NAME = N "การทดสอบฐานข้อมูล", ข้าม, NOREWIND, NOUNLOAD, STATS = 10 GO

และตอนนี้ถ้าเรารัน เราจะสร้างสำเนาสำรองของฐานข้อมูลชื่อ test_arh_ วันที่ปัจจุบัน.บัค

การสร้างการสำรองข้อมูลอัตโนมัติบนเซิร์ฟเวอร์ SQL

เพื่อวัตถุประสงค์เหล่านี้ MS SQL 2008 จึงมี โอกาสพิเศษเรียกว่า " แผนบริการ"ซึ่งคุณสามารถกำหนดเวลาสำหรับการสร้างสำเนาสำรองของฐานข้อมูลได้ แต่สำหรับจุดประสงค์เหล่านี้ ฉันขอแนะนำให้ใช้ไฟล์ bat เพื่อกำหนดค่าในตัวกำหนดตารางเวลา และเพื่อให้ทำงานทุกวันและทำการสำรองฐานข้อมูล เมื่อต้องการทำเช่นนี้ ให้คัดลอก คำสั่ง SQLซึ่งเราได้กล่าวไว้ข้างต้นแล้ววางลงในแผ่นจดบันทึก (ฉันขอแนะนำแผ่นจดบันทึก ++) จากนั้นบันทึกเป็นส่วนขยาย .sqlเหล่านั้น. สคริปต์นี้จะถูกดำเนินการใน MS Sql 2008 จากนั้นเราก็ต้องเขียนแบตช์ไฟล์เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ SQL และรันสคริปต์ของเรา เรายังเขียนในสมุดบันทึก:

SET cur_date=%วันที่:~6.4%%วันที่:~3.2%%วันที่:~0.2% osql -S localhost -i C:\temp\test.sql -o C:\temp\%cur_date %_log_sql.log –E

โดยที่ฉันสร้างตัวแปร cur_date เพื่อจัดเก็บ วันที่ปัจจุบันจากนั้นเชื่อมต่อกับ เซิร์ฟเวอร์ท้องถิ่นผ่านทางยูทิลิตี้ osqlซึ่งใช้ ODBC และรันสคริปต์ของเรา (ฉันเรียกมันว่า test.sql) และยังเขียนบันทึกที่เราแค่ต้องการตัวแปรของเรา เพียงเท่านี้ก็บันทึกมันด้วยส่วนขยาย .ค้างคาวเราสร้างงานในตัวกำหนดตารางเวลาและอาจมีคนบอกว่าเราลืมกระบวนการเก็บถาวรฐานข้อมูลเราก็ตรวจสอบเป็นระยะ ๆ ว่าไฟล์เก็บถาวรนั้นถูกสร้างขึ้นหรือไม่

นี่เพียงพอสำหรับพื้นฐาน ตอนนี้คุณรู้วิธีสร้างสำเนาสำรองของฐานข้อมูลสำหรับปี 2551 แล้ว เซิร์ฟเวอร์ SQLในบทความถัดไปเราจะมาดูกันว่าคุณสามารถกู้คืนฐานข้อมูลบน MS Sql 2008 ได้อย่างไร แค่นี้ก่อน! ขอให้โชคดี!