Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

ความพร้อมใช้งานสูง - ความพร้อมใช้งานของ MS SQL Server

ความพร้อมใช้งานสูง (HA) เป็นโซลูชัน / กระบวนการ / เทคโนโลยีเพื่อให้แน่ใจว่าแอปพลิเคชัน / ฐานข้อมูลสามารถเข้าถึงได้ทุกวันตลอด 24 ชั่วโมงในทุกสภาวะ ไม่ว่าจะตั้งใจหรือไม่คาดคิด

โดยทั่วไป มี 5 ตัวเลือกในการตั้งค่าความพร้อมใช้งานของฐานข้อมูลใน MS SQL Server

  1. การจำลองแบบ
  2. บันทึกการจัดส่ง
  3. กระจกเงา
  4. การจัดกลุ่ม
  5. กลุ่มความพร้อมใช้งานเสมอ

การจำลองแบบ

ข้อมูลต้นฉบับจะถูกคัดลอกไปยังปลายทางผ่านงานการจำลองแบบ (ตัวแทน / งาน) โดยใช้เทคโนโลยีที่ระดับวัตถุ คำศัพท์บางคำจำเป็นต้องรู้:

ผู้เผยแพร่ (Publisher) เป็นเซิร์ฟเวอร์ต้นทาง

  1. Distributor (Distributor) เป็นทางเลือก โดยจะจัดเก็บข้อมูลที่คัดลอกไปยังสมาชิก (Subscriber)
  2. สมาชิกคือเซิร์ฟเวอร์ปลายทาง

บันทึกการจัดส่ง

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

  1. เซิร์ฟเวอร์หลัก (เซิร์ฟเวอร์หลัก) เป็นเซิร์ฟเวอร์ต้นทาง
  2. เซิร์ฟเวอร์รอง (Secondary Server) คือเซิร์ฟเวอร์ปลายทาง
  3. เซิร์ฟเวอร์การมอนิเตอร์เป็นทางเลือก ตรวจสอบโดยสถานะ Log Shipping

กระจกเงา

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

  1. เซิร์ฟเวอร์เดิม (เซิร์ฟเวอร์หลัก) เป็นเซิร์ฟเวอร์ต้นทาง
  2. เซิร์ฟเวอร์มิเรอร์คือเซิร์ฟเวอร์ปลายทาง
  3. Witness Server เป็นทางเลือก ใช้สำหรับโซลูชันความทนทานต่อข้อผิดพลาดอัตโนมัติ

การจัดกลุ่ม

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

  1. Active Node คือที่ที่ SQL Services ทำงาน
  2. Passive Node (Passive Node) คือที่ที่ SQL Services ไม่ทำงาน

AlwaysON Availability Group

ข้อมูลหลักจะถูกถ่ายโอนไปยังข้อมูลรองผ่านธุรกรรม โดยใช้เทคโนโลยีที่ระดับกลุ่มฐานข้อมูล การตั้งค่า Windows Clustering ไม่ต้องการที่เก็บข้อมูลทั่วไป คำบางคำ:

  1. ตัวจำลองหลักคือเซิร์ฟเวอร์ต้นทาง
  2. Secondary Replica คือเซิร์ฟเวอร์ปลายทาง

ขั้นตอนในการกำหนดค่าความพร้อมใช้งานสูงสำหรับการมิเรอร์และบันทึกการจัดส่ง

ด้านล่างนี้คือขั้นตอนในการกำหนดค่า HA (การทำมิเรอร์และการบันทึกการจัดส่ง) ยกเว้นการทำคลัสเตอร์, AlwaysON Availability Groups และการจำลองแบบ

ขั้นตอนที่ 1 - รับสำเนาฉบับเต็มและสำเนา T-log ของฐานข้อมูลต้นฉบับ

ตัวอย่างเช่น:

ในการกำหนดค่ามิเรอร์ / บันทึกการจัดส่งสำหรับ TestDB ฐานข้อมูลใน TESTINSTANCE เป็นเซิร์ฟเวอร์ SQL Server หลักและ DEVINSTANCE เป็นเซิร์ฟเวอร์รอง ใช้แบบสอบถามต่อไปนี้เพื่อรับข้อมูลสำรองทั้งหมดและ T-log บนเซิร์ฟเวอร์ต้นทาง (TESTINTANCE)

เชื่อมต่อกับ SQL Server TESTINSTANCE แล้วเปิดแบบสอบถามใหม่ เขียนโค้ดด้านล่าง แล้วดำเนินการตามภาพ

 Backup database TestDB to disk = 'D:testdb_full.bak' 
GO
Backup log TestDB to disk = 'D:testdb_log.trn'

ความพร้อมใช้งานสูง - ความพร้อมใช้งานของ MS SQL Server
ค้นหาข้อมูลสำรอง

ขั้นตอนที่ 2 - คัดลอกไฟล์สำรองไปยังเซิร์ฟเวอร์ปลายทาง

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

ความพร้อมใช้งานสูง - ความพร้อมใช้งานของ MS SQL Server
คัดลอกไฟล์สำรองไปยังเซิร์ฟเวอร์ปลายทาง

ขั้นตอนที่ 3 - กู้คืนฐานข้อมูลด้วยไฟล์สำรองบนเซิร์ฟเวอร์ปลายทางโดยเลือก norecovery

ตัวอย่าง

เชื่อมต่อกับ SQL Server DEVINSTANCE และเปิดแบบสอบถามใหม่ เขียนโค้ดต่อไปนี้เพื่อกู้คืนฐานข้อมูลด้วยชื่อ TestDB เหมือนกับชื่อฐานข้อมูลเดิม คุณสามารถใช้ชื่ออื่นสำหรับการกำหนดค่า Log Shipping ใช้ norecovery ตัวเลือกในการกู้คืน

 Restore database TestDB from disk = 'D:TestDB_full.bak' 
with move 'TestDB' to 'D:DATATestDB_DR.mdf',
move 'TestDB_log' to 'D:DATATestDB_log_DR.ldf',
norecovery
GO
Restore database TestDB from disk = 'D:TestDB_log.trn' with norecovery

ความพร้อมใช้งานสูง - ความพร้อมใช้งานของ MS SQL Server
กู้คืนฐานข้อมูลด้วยการบันทึกไฟล์

รีเฟรชโฟลเดอร์ฐานข้อมูลใน DEVINSTANCE เซิร์ฟเวอร์เพื่อดูว่าฐานข้อมูลได้รับการคืนค่า TestDB โดยมีสถานะการฟื้นตัวดังแสดงด้านล่าง

ความพร้อมใช้งานสูง - ความพร้อมใช้งานของ MS SQL Server
สถานะการกู้คืนฐานข้อมูล

ขั้นตอนที่ 4 - กำหนดค่า HA (บันทึกการจัดส่ง / มิเรอร์) ดังที่แสดงด้านล่าง

ตัวอย่างเช่น:

คลิกขวาที่ SQL Server TestDB ฐานข้อมูล TESTINTANCE (เซิร์ฟเวอร์รูท) แล้วคลิก คุณสมบัติ หน้าจอด้านล่างจะปรากฏขึ้น

ความพร้อมใช้งานสูง - ความพร้อมใช้งานของ MS SQL Server
การกำหนดค่าการจัดส่งบันทึก / การมิเรอร์

ขั้นตอนที่ 5 - เลือก มิเรอร์ หรือ บันทึกการทำธุรกรรมการจัดส่ง ตามความต้องการของคุณและทำตามขั้นตอนที่ระบบให้มาเพื่อทำการกำหนดค่าให้เสร็จสิ้น