Nhân bản và đồng bộ dữ liệu với SQL Server (Bài 5)

Bài học nhân bản và đồng bộ dữ liệu với sql server sẽ bao gồm những nội dung như giới thiệu về replication, phân loại replication, các bước thiết lập đồng bộ dữ liệu, kiểm tra kết quả đồng bộ.

Nhân bản và đồng bộ dữ liệu với sql server – Giới thiệu

Đồng bộ dữ liệu là phương pháp cho phép sao chép và phân phối dữ liệu cũng như các đối tượng cơ sở dữ liệu từ một cơ sở dữ liệu này đến một cơ sở dữ liệu khác và sau đó đồng bộ hóa giữa các cơ sở dữ liệu để duy trì tính nhất quán.

nhân bản và đồng bộ dữ liệu với sql server

Nhân bản và đồng bộ dữ liệu với sql server – Phân loại

Microsoft SQL Server cung cấp các loại đồng bộ dữ liệu bao gồm Transactional replication, Merge replication và Snapshot replication.

TRANSACTIONAL

Là loại đồng bộ bắt đầu với một bản chụp của các đối tượng cơ sở dữ liệu cũng như dữ liệu, sau đó những thay đổi dữ liệu tiếp theo chỉ được cập nhật một chiều từ Publisher đến Subscriber.

MERGE

Tương tự như Transactional replication, thường bắt đầu với một bản chụp của các đối tượng cơ sở dữ liệu và dữ liệu, sau đó những thay đổi dữ liệu tiếp theo được cập nhật hai chiều từ Publisher đến Subscriber ngược lại.

SNAPSHOT

Giúp sao chép dữ liệu tại một thời điểm và không theo dõi các bản cập nhật dữ liệu tiếp theo. Khi đồng bộ hóa xảy ra, toàn bộ ảnh chụp được tạo ra và gửi đến các Subscriber một lần duy nhất.

Nhân bản và đồng bộ dữ liệu với sql server – Các bước thiết lập đồng bộ dữ liệu

Chuẩn bị

– Hai máy tính có cài Microsoft SQL Server cùng phiên bản. Một máy làm Publisher (Bên thiết lập để nhân bản và đồng bộ dữ liệu gọi là xuất bản). Máy tính thứ hai dùng để nhận dữ liệu được gọi Subscriber.

– Một cơ sở dữ liệu trên máy tính Publisher

– Khởi động SQL Server Agent

Mở SQL Server Configuration Manager. Lưu ý, chúng ta có thể mở SQL Server Configuration Manager bằng dòng lệnh bằng cách sử dụng phím Windows + R và nhập SQLSERVERMANAGERXX.msc. Đối với SQL Server 2008 thì XX là 10, SQL Server 2012 thì XX là 11, SQL Server 2014 thì XX là 12. Giả sử mở SQL Server Configuration Manager 2014 thì câu lệnh sẽ như hình

Chọn SQL Server Services ở khung bên trái-> chuột phải SQL Server Agent (MSSQLSERVER) ở khung bên phải -> chọn Start.

Nhân bản và đồng bộ dữ liệu với sql server – Tạo Publication

Tại máy chủ làm Publisher, mở SQL Server Management Studio -> kết nối vào máy chủ và thực hiện các bước sau:

1/ Mở rộng Replication, chuột phải lên Local Publications, chọn New Publication

2/ Chọn Next 3 lần. Sau đó chọn cơ sở dữ liệu muốn đồng bộ (Trong hình chúng tôi chọn QuanLyBanHang) -> chọn Next

3/ Chọn loại đồng bộ (Trong hình chúng tôi chọn Transactional publication), sau đó chọn Next

4/ Lựa chọn các bảng hoặc các đối tượng cơ sở dữ liệu muốn nhân bản và đồng bộ. Tại bước này, các bạn có thể chọn tất cả các bảng của database hoặc một số bảng mà mình muốn.

5/ Chọn Next, tại màn hình kế tiếp chọn Create a snapshot immediately and keep the snapshot aviable to initialize subscritions

6/ Chọn Security Setting và thiết lập thông tin đăng nhập

7/ Tại màn hình kế tiếp chọn Create the publication -> chọn Finish -> nhập tên -> chọn Finish

Nhân bản và đồng bộ dữ liệu với sql server – Tạo Subscription

Tại máy chủ làm Subscriber, mở SQL Server Management Studio -> kết nối vào máy chủ và thực hiện các bước sau: 

1/ Chuột lên publication đã tạo trước đó -> chọn New Subscriptions

2/ Chọn Next 3 lần -> chọn Add Subscriber (hình tam giác màu đen) -> chọn Add SQL Server Subscriber

3/ Kết nối đến máy chủ làm Subscriber. Lưu ý nhập tại Server name của máy chủ làm Subscriber, chọn chứng thực SQL Server Authencation và nhập thông tin đăng nhập

4/ Chọn New database

5/ Nhập tên cơ sở dữ liệu giống với tên cơ sở dữ liệu tại máy Publisher. Trong hình chúng tôi nhập là QuanLyBanHang

6/ Chọn Next

7/ Thiết lập thông tin kết nối đến máy chủ làm Subscriber

8/ Chọn Next 3 lần -> chọn Create the subscription(s)

9/ Chọn Finish -> chọn Close

Nhân bản và đồng bộ dữ liệu với sql server – Kiểm tra kết quả nhân bản và đồng bộ

1/ Tại máy chủ làm Publisher, mở một bảng bất ký và thêm dữ liệu vào. Trong ví dụ, chúng tôi sử dụng bảng VATTU và thêm một dòng dữ liệu là vt02. Lưu ý sau khi nhập xong cột cuối cùng (cột PhanTram), chúng ta phải nhấn phím Enter để hoàn tất quá trình thêm dữ liệu.

2/ Tại máy chủ làm Subscriber, mở bảng VATTU và chúng ta đã thấy dòng dữ liệu được thêm tại máy chủ Publisher đã được đồng bộ sang máy chủ thứ hai là Subscriber. Điều này cho thấy, chúng ta đã thiết lập thành công tính năng nhân bản và đồng bộ dữ liệu giữa 2 máy chủ SQL Server.