REPLICATION SQL SERVERCác vai trò: Publisher: là server chứa bản chính của dữ liệu sẽ nhân bản Distributor: Người ghi nhận và quản lý việc phân phối dữ liệu hay giao tác Subcribers: Là c
Trang 1REPLICATION SQL SERVER
Các vai trò:
Publisher: là server chứa bản chính của dữ liệu sẽ nhân bản
Distributor: Người ghi nhận và quản lý việc phân phối dữ liệu hay giao tác Subcribers: Là các server nhận các bản sao được nhân bản từ bản chính của 1
Publisher
Các đơn vị dữ liệu:
Acticle: Là 1 mảnh dữ liệu
Publication: Là 1 tập hợp gồm 1 hay nhiều Acticle
Khai báo nhân bản:
Push Subcription: Do Publisher phát ra
Pull Subcription: Do Subcripber phát ra
Các loại bản sao:
Snapshot: no update
Transaction: Update
Merge:
Các bước thực hiện:
Cấu hình cho quá trình nhân bản
Tạo và sao chép bản sao đầu tiên
Hiệu chỉnh các bản sao
Đồng bộ và lan truyền dữ liệu
Trang 2Cấu hình:
Chỉ ra Distributor
Tạo CSDL phân tán trên Distributor
Xác định (Enable) các Publisher sẽ sử dụng Distributor
Enable CSLD xuất bản
Enable các Subscribes sẽ nhận dữ liệu xuất bản
Sử Dụng Enterprise Manager
Click phải chuột vào Replication
Click Configure Publishing, Subcribers, Distributions
Theo sự hướng dẫn của Winzard để chọn Distributor, tạo Distribution
Database và
Trên Customize the Configuration chọn
Publisher and Subcriber Defaults
Hoặc chọn Yes, Let me set the Distribution Database properties, enable Publishers or set Publishing setting s
Sử Dụng T-SQL
Thực hiện sp_adddistributor ở server sẽ làm Distributor
Thực hiện sp_adddistributiondb tạo server Distributor để tạo CSDL chứa các
dữ liệu sẽ nhân bản
Thực hiện sp_adddispublisher tại mỗi server là các publisher sẽ dùng
distributor đã tạo
Trên CSDL master trên Publisher, thực hiện sp_relicationdboption cho mỗi CSDL mà sẽ nhân bản
Trang 3XUẤT BẢN DỮ LIỆU
Tại server publisher, Click phải chuột vào Publications Folder, chọn new Publication
Chọn Show Advance Options in this Winzard, chọn Publication Database
Sử dụng 1 khuôn mẫu xuất bản Publication Template
Chọn loại xuất bản (type of publication)
Chọn loại nhân bản Update table Subcritions or Tranformable Subcriptions (Snapshot replication or Transactional replication)
Chỉ ra loại Subscribers types
Xác định data and database object articles to publish
Chọn tên của xuất bản
Xác định thông số cho xuất bản
TẠO PHIÊN BẢN ĐẦU TIÊN
Chọn Create the First Snapshot Immediately trong Create
PublicationWinzard
Đồng bộ 1 Push Subscription, publication, chọn publication cần đồng bộ
Click chuột phải vào subscription cần đồng bộ, Click Start Synchronizings
Đồng bộ pull or Anymous subscription
Tại Subcribers, Click Replication, Subscriptions
Click chuột phải vào subscription cần đồng bộ rồi Click Start
Synchronizings
Trang 4Pulisher(nhà xuất bản):dữ liệu nguồn được xem như là một nhà xuất bản trong
SQL
Distributor(nhà phân phối):là người sẽ thu thập dữ liệu từ nhà xuất bản
(publisher) hoặc có thể hoạt động dựa trên server tách biệt nhau
Một distributor đồng thời nhận dữ liệu từ nhiều nhà xuất bản (publisher)và chuyển chúng đến những người đăng ký sử dụng (subcriber), thành phần chính tham gia nhà phân phối CSDL phân tán (distributed database)
CSDL phân tán chứa mọi chuyển tác đang chờ phân phối đi và giữ lại trạng thái
replication(sao lưu dữ liệu), đăng ký ấn bản (subscription), những dữ liệu đăng
ký này được gọi là phát hành
Một đợt phát hành chứa nhiều bài báo (article), hiểu theo kiểu dữ liệu thì bài báo (article) là những bảng (table), hoặc một phần dữ liệu có trong bảng
Tuy nhiên theo một article cũng là một đối tượng , như là procedure hoặc là
nhóm các procedure bằng việc đăng ký (subscription) thì nhận được phát
hành(publication), những người đăng ký (subcriber) có thể nhận được tất cả bài báo (article) hay còn gọi là dữ liệu trong đợt phát hành đó đăng ký có thể nhận được bằng pull(nhận) hoặc là yêu cầu(push).
Đối với cách nhận push, bên xuất bản (publisher) sẽ coi subcriber có cần những
article(dữ liệu) cập nhật hay không, tiếp đến dữ liệu sẽ push đến người sử dụng
thật sự cần, điều này tương tự như bạn đặt báo với đại lý tới tháng đại lý hay nhà xuất bản sẽ đem báo đến cho bạn
Đối với cách pull, bạn đóng vai trò là người là người đăng ký(subcriber) cần phải
chủ động đến yêu cầu nhà xuất bản dữ liệu gửi dữ liệu đến cho mình, tương tự đến tháng mua báo bạn phải tự ra đại lý nhận báo về
Cách cách đăng ký (subcriber):
subcriber cục bộ(local subcriber):chỉ có duy nhất một publisher trên server biết
đến subcriber này thường được dùng cho cơ chế bảo mật hoặc khi bạn muốn tối
đa việc quản lý
subcriber toàn cục(global subcriber): một subcriber có thể biết bởi nhiều sever
hay publisher Global Subcriber thường được dùng trong môi trường nhiều
Trang 5server Khi bạn muốn kết hợp nhiều nguồn publisher cho Subcriber
subcriber vô danh(anonymous subcriber): kiểu subcriber này chỉ được biết đến
bởi publisher Khi nó thực hiện kết nối từ server, kiểu này được sử dụng khi bạn muốn xây dựng ứng dụng cho internet.
CÁC KIỂU REPLICATION
SNAPSHOT REPLICATION (BẢN SAO DỮ LIỆU): Sẽ thực hiện sao chép ảnh của dữ liệu nguồn hay chính xác hơn là copy nguồn đến server đích Snapshot là bản sao Replication dẽ dùng nhất
MERGE REPLICATION (SAO CHÉP TRỘN): Một cách khác để quản lý dữ liệu thay đổi ra trên nhiều server khác, người ta dùng kỹ thuật sao chép trộn Các thay đổi từ server sẽ được kết hợp với nhau trong quá trình Publisher nhật dữ liệu Việc cập nhật dữ liệu sẽ diễn ra theo định kỳ hoặc theo yêu cầu
TRANSACTION REPLICATION (SAO CHÉP DỰA THEO CHUYỂN TÁC):Sự khác biệt giữa chuyển tác(transactional replication) và sao chép dựa vào ảnh dữ liệu (snapshot replication) đó là hạn chế số lượng thay đổi cần trên bảng dữ liệu thay vì kiểm tra và cập nhật toàn bộ bảng dữ liệu bất kỳ thay đổi nào tác động lên
bảng (hay các article) publish như insert, update, delete được lưu trữ và áp đặt cho các bảng dữ liệu phía subcriber Trong sao chép dựa vào chuyển tác chỉ có
những bảng dữ liệu nào thay đổi mới được đem đi phân phối,chuyển tác
transaction sẽ quản lýtheo tuần tự mà nó phát sinh.