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

11-January-2017

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

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

1. Sơ nét về merge replication

Merge replication cho phép nhiều server làm việc độc lập (online hay ofline) sau đó hợp nhất dữ liệu đã thay đổi lại dựa vào độ ưu tiên, thời điểm chỉnh sửa hoặc do người dùng tự quy định. Subscriber sẽ đồng bộ với publisher khi được kết nối vào mạng và sẽ chuyển giao tất cả các row đã thực hiện thay đổi giữa publisher và subscriber kể từ lần đồng bộ cuối cùng.

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

  • Nhiều subscriber cập nhật cùng một dữ liệu nhiều lần và muốn phân phối những thay đổi đó tới publisher và các subscriber khác
  • Subscriber có nhu cầu nhận dữ liệu, thay đổi dữ liệu offline, sau đó đồng bộ hóa những thay đổi tới publisher và các subscriber khác
  • Mỗi subscriber yêu cầu một phân vùng dữ liệu khác nhau
  • Có nhu cầu giải quyết xung đột khi chúng xảy ra
  • Ứng dụng yêu cầu thay đổi dữ liệu lần cuối cùng thay vì dữ liệu tức thời. Ví dụ một row bị thay đổi 5 lần tại một subscriber trước khi đồng bộ tới publisher, vậy thì row đó sẽ chỉ thay đổi 1 lần tại publisher (tức là sẽ nhận giá trị thứ 5)

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

Ở bài hướng dẫn này, Vinahost sẽ thực hiện cấu hình merge 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 Merge 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 Agent Security, ta nhấp chọn Security Settings… và nhập tài khoản Windows sẽ dùng để chạy Snapshot agent

  • 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

  • Ở bước Synchronization Schedule, ta sửa Agent Schedule thành Run continuously

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 Merge replication trên Windows server 2012.