Hướng dẫn cấu hình transactional replication

11-January-2017

Ở bài viết này, Vinahost sẽ hướng dẫn các bạn cấu hình transactional replication.

Bài viết cần đọc trước:

1. Sơ nét về transactional replication

Transactional replication thường được dùng trong môi trường server - to - server, cơ chế hoạt động tương tự như master - slave. Một server ở trạng thái active (publisher) chạy chính, một server ở dạng read-only (subscriber) cập nhật CSDL từ publisher mỗi khi CSDL có sự thay đổi với tần suất cập nhật gần như realtime.

Transactional replication thường được dùng trong các trường hợp sau:

  • Người dùng có nhu cầu cập nhật các thay đổi tới subscriber ngay khi chúng xảy ra
  • Ứng dụng yêu cầu độ trễ thấp giữa các lần thay đổi dữ liệu
  • Ứng dụng yêu cầu truy cập dữ liệu tức thời. Ví dụ một row bị thay đổi 5 lần, transactional replication cho phép ứng dụng nhận được dữ liệu tại mỗi lần thay đổi, thay vì nhận lần thay đổi cuối cùng
  • Publisher có tần suất thực hiện INSERT, DELETE và UPDATE cao
  • CSDL tại publisher hoặc subscriber không phải là SQL server, ví dụ như Oracle

2. Các bước cấu hình transactional replication

Ở bài hướng dẫn này, Vinahost sẽ thực hiện cấu hình transactional replication trên 2 máy Windows server 2012 R2 Datacenter có cài đặt SQL Server 2012 Enterprise.

Để các bạn tiện theo dõi, server được dùng làm publisher là VINAHOST1, và subscriber là VINAHOST2.

Tại publisher

  • Nhấp chuột phải vào Replication, chọn New -> Publication…

  • Ở bước Publication Database, ta chọn CSDL sẽ thực hiện nhân bản

  • Ở bước Publication Type, ta chọn Transactional publication

  • Ở bước Articles, ta chọn các bảng sẽ thực hiện nhân bản

  • Ở bước Filter Table Rows, ta có thể thêm các điều kiện lọc để loại bỏ các dòng không mong muốn ra khỏi bảng
  • Ở bước Snapshot Agent, ta nhấp chọn Create a snapshot immediately and keep the snapshot available to initialize supscriptions để yêu cầu Snapshot agent tạo một bản snapshot ngay lập tức

  • Ở bước Agent Security, ta nhấp chọn Security Settings… và nhập tài khoản Windows sẽ dùng để chạy Snapshot agent

  • Do ta để ô Use the security settings from the Snapshot Agent được chọn ở mặc định, nên Log Reader Agent cũng sẽ dùng tài khoản ở trên để chạy

  • Bước cuối cùng, ta đặt tên cho publication và bấm Finish

Các bước không được liệt kê ở trên, ta giữ ở cấu hình mặc định

Tại subscriber

  • Nhấp chuột phải vào Replication, chọn New -> Supscriptions…

  • Ở bước Publication, ta chọn publisher đã cấu hình ở trên, nếu không xuất hiện trong danh sách, ta chọn <Find SQL Server Publisher…> và kết nối tới publisher đã cấu hình từ trước

  • Ở bước Subscribers, ta chọn <New database…>

  • Tại cửa sổ New Database, ta nhập tên của CSDL và bấm OK

  • Ở bước Distribution Agent Security, ta nhập tài khoản sẽ dùng để chạy distribution agent

Các bước không được liệt kê ở trên, ta giữ ở cấu hình mặc định

Vậy là ta đã hoàn tất quá trình cấu hình Transactional replication trên Windows server 2012.