Thứ Ba, 15 tháng 3, 2022

High Availability - Tính sẵn sàng của MS SQL Server

High Availability (HA) là một giải pháp/quy trình/công nghệ để đảm bảo ứng dụng/cơ sở dữ liệu có thể truy cập được 24/7 trong bất kì điều kiện nào, dù là có dự định trước hay bất ngờ.

Về cơ bản thì có 5 lựa chọn để thiết lập tính sẵn sàng cho cơ sở dữ liệu trong MS SQL Server.

  • Replication
  • Log Shipping
  • Mirroring
  • Clustering
  • AlwaysON Availability Groups

Replication

Dữ liệu gốc sẽ được sao chép tới điểm đích qua tác vụ sao chép (agent/job), sử dụng công nghệ ở mức độ đối tượng. Một số thuật ngữ cần biết:

Bên phát hành (Publisher) là máy chủ nguồn.

  • Bên phân phối (Distributor) là tùy chọn, lưu trữ dữ liệu đã được sao chép cho bên đăng ký (Subscriber).
  • Bên đăng ký (Subscriber) là máy chủ đích.

Log Shipping

Dữ liệu nguồn được sao chép tới điểm đích thông qua tác vụ sao lưu Transaction Log, sử dụng công nghệ ở mức độ cơ sở dữ liệu. Một số thuật ngữ:

  • Máy chủ sơ cấp (Primary Server) là máy chủ nguồn.
  • Máy chủ thứ cấp (Secondary Server) là máy chủ đích.
  • Máy chủ giám sát là tùy chọn, được giám sát bằng trạng thái Log Shipping.

Mirroring

Dữ liệu sơ cấp được sao chép sang thứ cấp qua các giao dịch mạng với sự trợ giúp của các điểm kết nối hình chiếu và số cổng, sử dụng công nghệ ở cấp độ cơ sở dữ liệu. Một số thuật ngữ:

  • Máy chủ gốc (Principal Server) là máy chủ nguồn.
  • Máy chủ hình chiếu (Mirror Server) là máy chủ đích.
  • Máy chủ chứng kiến (Witness Server) là tùy chọn, được dùng cho giải pháp chịu lỗi tự động.

Clustering

Dữ liệu được lưu trữ tại địa điểm chung, được cả máy chủ sơ cấp và thứ cấp sử dụng, dùng công nghệ ở mức bản cài (instance). Cần phải thiết lập Windows Clustering trên nơi lưu trữ chung này. Một số thuật ngữ:

  • Node chủ động (Active Node) là nơi SQL Services chạy.
  • Node bị động (Passive Node) là nơi SQL Services không chạy.

AlwaysON Availability Groups

Dữ liệu sơ cấp sẽ được chuyển sang thứ cấp qua các giao dịch, sử dụng công nghệ ở mức độ nhóm cơ sở dữ liệu. Thiết lập Windows Clustering không cần nơi lưu trữ chung. Một số thuật ngữ:

  • Primary Replica là máy chủ nguồn.
  • Secondary Replica là máy chủ đích.

Các bước cấu hình High Availability cho Mirroring và Log Shipping

Dưới đây là các bước cấu hình HA (Mirroring và Log Shipping) ngoại trừ Clustering, AlwaysON Availability Groups và Replication.

Bước 1 - Lấy một bản đầy đủ và một bản sao T-log của cơ sở dữ liệu gốc.

Ví dụ:

Để cấu hình Mirroring/Log Shipping cho CSDL TestDB trên TESTINSTANCE làm máy chủ SQL Server sơ cấp và DEVINSTANCE làm máy chủ thứ cấp, dùng truy vấn dưới đây để lấy sao lưu đầy đủ và T-log trên máy chủ nguồn (TESTINTANCE).

Kết nối tới SQL Server TESTINSTANCE và mở truy vấn mới, viết đoạn mã dưới đây và thực thi như trong hình.

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

Truy vấn lấy sao lưu
Truy vấn lấy sao lưu

Bước 2 - Sao chép tập tin sao lưu tới máy chủ đích.

Trong trường hợp này chúng ta chỉ có một máy chủ vật lý và 2 bản SQL Server Instance nên không phải sao chép. Nhưng nếu 2 bản SQL Server Instance nằm ở 2 máy chủ vật lý khác nhau thì cần sao chép 2 tập tin dưới đây tới địa điểm trên máy chủ thứ cấp, nơi cài DEVINSTANCE.

Sao chép tập tin sao lưu tới máy chủ đích
Sao chép tập tin sao lưu tới máy chủ đích

Bước 3 - Khôi phục CSDL bằng tập tin sao lưu trên máy chủ đích bằng lựa chọn norecovery.

Ví dụ.

Kết nối tới SQL Server DEVINSTANCE và mở truy vấn mới New Query. Viết đoạn mã dưới đây để khôi phục CSDL với tên TestDB, trùng với tên của CSDL gốc. Có thể dùng tên khác cho cấu hình Log Shipping. Dùng lựa chọn norecovery để khôi phục.

Restore database TestDB from disk = 'D:\TestDB_full.bak'
with move 'TestDB' to 'D:\DATA\TestDB_DR.mdf',
move 'TestDB_log' to 'D:\DATA\TestDB_log_DR.ldf',
norecovery
GO
Restore database TestDB from disk = 'D:\TestDB_log.trn' with norecovery

Khôi phục CSDL bằng tập tín aao lưu
Khôi phục CSDL bằng tập tín aao lưu

Refresh lại thư mục CSDL trên máy chủ DEVINSTANCE để thấy CSDL đã được khôi phục TestDB với trạng thái khôi phục như trong hình dưới đây.

Cấu hình Log Shipping/Mirroring
Trạng thái khôi phục CSDL

Bước 4 - Cấu hình HA (Log Shipping/Mirroring) như trong hình dưới đây.

Ví dụ:

Click chuột phải vào CSDL TestDB của SQL Server TESTINTANCE (máy chủ gốc) và click Properties. Màn hình dưới đây sẽ hiện ra.

Cấu hình Log Shipping/Mirroring
Cấu hình Log Shipping/Mirroring

Bước 5 - Chọn Mirroring hoặc Transaction Log Shipping theo yêu cầu của bạn và làm theo các bước Wizard được hệ thống đưa ra để hoàn tất việc cấu hình.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master