Cơ sở dữ liệu - Chương 5 - Phần 2: SQL serrver agent và replication
Cơ sở dữ liệu -
Chương 5 - Phần 2: SQL serrver agent và replication
Được dùng bởi snapshort replication để áp dụng snapshot vào các subscribers
Và được dùng bởi transacational replication để truyền 1 snapshot
75 trang |
Chia sẻ: huyhoang44 | Lượt xem: 698 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Cơ sở dữ liệu - Chương 5 - Phần 2: SQL serrver agent và replication, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
GV Phi Loan - Khoa CNTT – HUI 1
GV Phi Loan - Khoa CNTT – HUI
Nội dung
• Khái quát về Replication
• Phân loại replication
• Phân loại replication agent
• Ta ̣o distributor
• Ta ̣o Publication
2
GV Phi Loan - Khoa CNTT – HUI
Replication is one of the High Availability
features available in SQL Server
3
GV Phi Loan - Khoa CNTT – HUI
Khái quát về replication
• Replication là 1 tâ ̣p hợp các công nghệ để
copy và phân phối dư ̃ liê ̣u và các đối tượng
DB tư ̀ 1 database này đêń 1 databases khác
nhằm duy trì sự thống nhất (consistency) dư ̃
liê ̣u giư ̃a hai DB với nhau.
• Thường gôm̀ 2 loa ̣i chính:
– Đồng bô ̣ dư ̃ liê ̣u giữa các server
– Đồng bô ̣ dư ̃ liệu giư ̃a server và clients.
4
GV Phi Loan - Khoa CNTT – HUI
Khi nào sử dụng replication
• Sao chép và phân phối dữ liệu trên nhiều Server
khác nhau
• Phân phối bản sao dữ liệu theo lịch trình nhất
định.
• Phân phối dữ liệu vừa thay đổi trên nhiều Server
khác nhau.
• Cho phép nhiều người dùng và nhiều Server kết
hợp dữ liệu khác nhau một cách thống nhất mà
không sợ mất dữ liệu.
5
GV Phi Loan - Khoa CNTT – HUI
Mô hình replication
• Replication sử dụng công nghệ xuất bản
(publishing industry) để trình bày các thành
phần và quá trình xử lý theo định dạng
hình học topo.
6
GV Phi Loan - Khoa CNTT – HUI 7
GV Phi Loan - Khoa CNTT – HUI
Các thành phà̂n của replication
• Mô hình bao gồm:
– Publisher (nhà xuất bản).
– Distributor (nhà phân phối).
– Subcriber
– Publications
– Articles
– Subscriptions
8
GV Phi Loan - Khoa CNTT – HUI
Các khái niệm
• Publisher: là 1 instance làm cho dữ liệu
săñ sàng xuất ba ̉n. Publisher sẽ theo dõi
xem dữ liệu gì đã được thay đỏ̂i trong
subscriber trong quá trình đó̂ng bộ hóa
dữ liệu.
• Subscriber: là 1 instance nhận các
publication từ publisher
9
GV Phi Loan - Khoa CNTT – HUI
Các khái niệm
• Article: là thành phần chính của mô hình replication.
Article có thể là table, stored procedure, function,
hay view.
• Publication: có thể có nhiều hơn 1 article mỗi lâǹ
replication. Publication là tâ ̣p hợp của 1 hay nhiều
article được dùng để phân phối dư ̃ liệu.
• Distributor: là thành phâǹ chính của kiến trúc
replication. Distributor duy trì việc phâń phôí CSDL và
tât́ cả các replication agent đều cha ̣y ở distributor.
10
GV Phi Loan - Khoa CNTT – HUI
Subscriber
• Subscriber là 1 điển hình DB để nhâ ̣n dư ̃ liệu
được nhân ba ̉n. Mô ̣t Subscriber có thê ̉ nhâ ̣n
dư ̃ liê ̣u từ nhiều Publishers khác nhau. Tùy
theo loại replication, Subscriber có thê ̉ chuyê ̉n
dư ̃ liê ̣u về lại Publisher hay tái ba ̉n la ̣i dư ̃ liê ̣u
cho các Subscriber khác.
• Publication là 1 tâ ̣p hợp của 1 hay nhiều
articles của 1 DB
11
GV Phi Loan - Khoa CNTT – HUI
Subscription
• Subscription là 1 yêu cầu cần copy 1 ấn phâ ̉m
nào đó của 1 Subscriber. Subscription xác định
cần nhâ ̣n ấn phâ ̉m gì, ở đâu và khi nào.
• Có hai loại subscriptions:
– Push
– Pull
12
GV Phi Loan - Khoa CNTT – HUI
Push subscription
• Publisher truyền các thay đô ̉i đêń Subscriber
không cần có yêu cầu tư ̀ Subscriber. Các thay
đỏ̂i có thể được đâ ̉y (pushed) đêń Subscribers
băǹg lê ̣nh hay bằng lịch biểu (schedule).
• Distribution Agent hay Merge Agent chạy ở
phía Distributor.
13
GV Phi Loan - Khoa CNTT – HUI
Pull subscription
• Subscriber yêu cầu nhận những thay đỏ̂i
tư ̀ phía Publisher.
• Pull subscriptions cho phép ngươ ̀i dùng
phía Subscriber xác định khi nào những
thay đỏ̂i dữ liệu cần được đò̂ng bộ.
• Distribution Agent hay Merge Agent chạy
ở phía Subscriber.
14
GV Phi Loan - Khoa CNTT – HUI
Phân loại replication
• Có 3 phương pháp khác nhau để phân
phó̂i dữ liệu giư ̃a 2 CSDL.
• Cho ̣n phương pháp nào:
– Tùy thuô ̣c vào yêu cầu nghiệp vụ
– Mức đồ đôǹg bô ̣ hóa dư ̃ liệu thường xuyên
như thế nào.
15
GV Phi Loan - Khoa CNTT – HUI
Phân loại replication
• Ba loại chính:
–Transactional replication
• Oracle publishing
• Peer-Peer Replication
–Merge replication
–Snapshot replication
16
GV Phi Loan - Khoa CNTT – HUI
Phân loại replication
• Mõ̂i loại replication đêù bắt đâù băǹg
việc đò̂ng bộ hóa các đó̂i tượng được
xuất bản giữa Publisher và Subscriber.
• Sự đò̂ng bô ̣ hóa lúc đâù có thể được
thực hiện băǹg snapshot replication.
17
GV Phi Loan - Khoa CNTT – HUI
Snapshot replication
• Hình ảnh chính xác của CSDL ta ̣i 1 thời
điểm nào đó (point-in-time) được copy
tư ̀ server nguò̂n về server đích.
• Lâ ̣p kế hoạch thực hiện snapshot
replication vào thời điểm nào là tùy
thuộc vào yêu cầu nghiệp vụ của tỏ̂ chức
18
GV Phi Loan - Khoa CNTT – HUI
Snapshot replication
• Nên sử dụng snapshot replication trong các
hoàn ca ̉nh sau:
– Dư ̃ liê ̣u không thuờng xuyên thay đô ̉i.
– Chấp nhâ ̣n ba ̉n sao dư ̃ liê ̣u đã lỗi thời so
với dư ̃ liệu ta ̣i Publisher trong mỗi chu kz
thời gian.
– Khối lượng dư ̃ liê ̣u đồng bô ̣ nho ̉
– Hầu hết các thay đỏ̂i xa ̉y ra trong cùng 1
khoảng thời gian ngắn.
19
GV Phi Loan - Khoa CNTT – HUI
Snapshot replication
• Snapshot replication sử dụng folder dùng cho
snapshot.
• Pha ̉i ba ̉o đảm các replication agent có quyền thích
hợp đối vơ ́i folder này.
– Publisher pha ̉i có quyền viết snapshot vào folder này.
– Subscriber pha ̉i có quyền đọc snapshot trong folder này.
• Nếu không xác định network share hay network
drive, replication sẽ không hỗ trợ pull subscriptions
được ta ̣o ở subscriber, vì vâ ̣y chỉ có thể dùng push
subscriptions.
20
GV Phi Loan - Khoa CNTT – HUI
Snapshot replication
• Snapshot replication thường được thực
hiê ̣n đầu tiên, đê ̉ khởi ta ̣o các subscriber.
Toàn bô ̣ dư ̃ liê ̣u được copy la ̣i và gửi đến
subscriber. Tât́ cả các thay đô ̉i xa ̉y ra trong
publisher sẽ được lưu la ̣i và sau đó gửi tới
subscriber khi snapshot agent cha ̣y la ̣i.
• Có thê ̉ dùng snapshot agent và distribution
agent cho loa ̣i replication này
21
GV Phi Loan - Khoa CNTT – HUI
Transactional replication
• Băt́ đầu băǹg 1 snapshot publication.
Ngay sau khi có được snapshot khởi
đâù, các thay đỏ̂i dữ liệu và sửa đỏ̂i sơ
đồ xảy ra sau đó ở Publisher sẽ được
truyền đêń Subscriber ngay khi xảy ra
(gâǹ như tư ́c thì).
22
GV Phi Loan - Khoa CNTT – HUI
Transactional replication
• Thươ ̀ng được dùng trong môi trươ ̀ng server-to-
server và thích hợp trong các trươ ̀ng hợp sau:
– Muôń các thay đô ̉i được truyền đến Subscribers ngay
khi chúng xa ̉y ra
– Các ứng dụng yêu câù mức đô ̣ trì hoãn (low latency)
giữa thời điê ̉m thay đô ̉i xa ̉y ra ở Publisher và thời điê ̉m
thay đô ̉i đêń được Subscriber.
– Các ứng dụng yêu câù truy xuât́ dữ liê ̣u ở tra ̣ng thái tức
thì. Ví dụ, nếu có 1 hàng thay đỏ̂i 5 lâǹ, thì transactional
replication cho phép ứng dụng đáp ứng cho môĩ lâǹ
thay đô ̉i ( kích khởi 1 trigger chă ̉ng ha ̣n) , không chỉ đơn
gia ̉n đáp ứng chung 1 lần cho hàng dữ liê ̣u đó.
– Publisher có rât́ nhiêù các hoa ̣t động insert, update, và
delete.
23
GV Phi Loan - Khoa CNTT – HUI
Transactional replication làm việc
như thế nào
• Được thực thi bởi:
– SQL Server Snapshot Agent
– Log Reader Agent
– Distribution Agent.
24
GV Phi Loan - Khoa CNTT – HUI 25
GV Phi Loan - Khoa CNTT – HUI
Transactional consistency
• Transactional consistency đo lường mức độ
đôǹg bô ̣ hóa giư ̃a các server dùng làm
replicate.
• Khi thời gian trễ (lag time) giư ̃a các lâǹ đồng
bô ̣ tăng thì transactional consistency gia ̉m.
• Nếu dữ liệu đò̂ng nhất trên ca ̉ hai server hầu
hêt́ thời gian, transactional consistency sẽ
cao.
26
GV Phi Loan - Khoa CNTT – HUI
Merge replication
• Tương tự như transactional replication, bắt
đâù với 1 snapshot của publication, sau đó
như ̃ng thay đô ̉i về dư ̃ liê ̣u và schema xa ̉y ra ở
phía Publisher và Subscribers đêù được theo
dõi bằng triggers.
• Subscriber đồng bô ̣ với Publisher khi được kết
nôí ma ̣ng và sẽ trao đô ̉i cho nhau tất ca ̉ như ̃ng
thay đô ̉i giư ̃a Publisher và Subscriber kể tư ̀ lần
đôǹg bô ̣ trước đó.
27
GV Phi Loan - Khoa CNTT – HUI
Merge replication
• Merge replication thường được dùng giư ̃a
server-to-client trong các trường hợp sau:
– Nhiều Subscribers câ ̣p nhâ ̣t cùng dư ̃ liê ̣u ở
như ̃ng thơ ̀i điê ̉m khác nhau và truyền các
thay đô ̉i này về Publisher và đêń các
Subscriber khác.
– Subscribers cần nhâ ̣n dư ̃ liệu, thay đỏ̂i
offline, và sau đó đồng bô ̣ các thay đỏ̂i này
với Publisher và các Subscribers khác.
28
GV Phi Loan - Khoa CNTT – HUI
Merge replication
• Merge replication thường được dùng giữa
server-to-client trong các trường hợp sau:
– Mỗi Subscriber chỉ yêu cầu 1 phần dữ liệu.
– Có thể xa ̉y ra xung đô ̣t (Conflict) và khi đó câǹ
phát hiện và giải quyết các xung đột này.
– Ư ́ng dụng chỉ quan tâm sự thay đô ̉i dữ liệu,
không câǹ theo dõi các trạng thái trung gian
của dữ liệu.
• Là loại replication khó thực thi và qua ̉n l{
nhất
29
GV Phi Loan - Khoa CNTT – HUI
Peer-Peer Replication
• Là 1 da ̣ng khác của transactional replication
được dùng đê ̉ nhân ba ̉n dư ̃ liê ̣u đến 1 hay
nhiều node. Mỗi node có thê ̉ xuất (publish)
dữ liê ̣u đến các node thành viên.
• Khi 1 node offline, các thay đô ̉i xa ̉y ra trong
node offline và các server thành viên khác sẽ
được đồng bô ̣ ngay khi node online trở la ̣i.
• Các thay đô ̉i được replicate cả 2 chiều.
30
GV Phi Loan - Khoa CNTT – HUI
Oracle publishing
• Là 1 da ̣ng của transactional replication.
• Thay vì SQL Server là server nguồn thì server là
Oracle, như ̃ng thay đô ̉i sẽ được replicate tư ̀ server
Oracle đến server SQL.
• SQL Server có thể là đích cuôí được replicate tư ̀ dư ̃
liệu của Oracle hay có thể là 1 gateway, và các thay
đô ̉i có thể được replicate tiếp đến 1 SQL Servers hay
RDBM khác.
• Loại replication này chỉ có tư ̀ edition Enterprise trở
đi.
31
GV Phi Loan - Khoa CNTT – HUI
Replication Agents
• Replication sử dụng nhiều chương trình đô ̣c
lâ ̣p (stand-alone programs) được go ̣i là
"agents" để thực hiê ̣n nhiê ̣m vụ theo dõi các
thay đô ̉i và phân phôí dư ̃ liệu.
• Replication agents chạy ở các da ̣ng sau:
– Như các job được lâ ̣p lịch săñ trong SQL Server
Agent
– Cha ̣y từ dấu nhắc lệnh và bởi các ứng dụng có
dùng Replication Management Objects (RMO).
32
GV Phi Loan - Khoa CNTT – HUI
Phân loại replication agent
• Ba loại replication agent:
–Snapshot agent
–Distribution agent
–Merge agent
33
GV Phi Loan - Khoa CNTT – HUI
Snapshot agent
• Snapshot agent: phát ra dư ̃ liệu da ̣ng ba ̉ng và
sơ đồ để chỉ các đối tượng cần replicate. Agent
này thường được dùng cho tất ca ̉ loa ̣i
replication.
34
GV Phi Loan - Khoa CNTT – HUI
Distribution agent
• Được dùng bởi snapshot replication để áp
du ̣ng snapshot vào các subscribers
• Và được dùng bởi transactional replication để
truyền 1 snapshot đêń subscriber và sau đó
replicate các thay đỏ̂i xa ̉y ra trên publisher đến
các subscriber.
35
GV Phi Loan - Khoa CNTT – HUI
Merge agent
• Merge agent phát hiện các thay đỏ̂i xảy
ra ở cả 2 phía publisher và subscriber kể
tư ̀ lần chạy trươ ́c đó và merge chúng vào
nhau ta ̣o thành 1 tâ ̣p thó̂ng nhât́ cho cả 2
phía.
36
GV Phi Loan - Khoa CNTT – HUI
Merge agent
• Đôi khi 1 giá trị khóa chính sẽ được gán
cho publisher và 1 hay nhiều subscriber
giư ̃a các lâǹ chạy agent . Khi merge
agent chạy lại, nó sẽ phát hiện ra sự xung
đô ̣t này và log xung đô ̣t này vào bảng
conflict. Dư ̃ liệu bị xung đô ̣t này mặc định
và̂n tiếp tu ̣c tồn tại (persist) trên cả
publisher và subscriber.
37
GV Phi Loan - Khoa CNTT – HUI
Merge agent
• Ví dụ: 1 giá trị khóa chính là 1000 được
gán cho 1 bảng trên publisher, sau đó
cũng giá trị này được gán cho cùng bảng
trên subscriber. Khi merge agent chạy nó
sẽ log xung đột này nhưng vâñ giư ̃ giá trị
khóa chính 1000 này cho 1 hàng của
bảng trên publisher và 1 hàng của bảng
trên subscriber.
38
GV Phi Loan - Khoa CNTT – HUI
Merge agent
• Merge replication có số chức năng để
quản l{ xung đột (conflict)
– Theo dõi xung đô ̣t mư ́c cột (column-level
conflict tracking)
– Theo dõi xung đô ̣t mư ́c hàng (uses row-
level conflict tracking)
39
GV Phi Loan - Khoa CNTT – HUI
Merge agent
• Theo dõi xung đột mư ́c cột (column-level
conflict tracking): bỏ qua thay đỏ̂i giư ̃a
các cột trong cùng 1 hàng giư ̃a publisher
và subscriber.
– Ví dụ: số điê ̣n thoa ̣i bàn của John Smith’s
thay đổi trên publisher và số điện thoa ̣i di
động của John thay đô ̉i trên subscriber sẽ
được merge la ̣i và ca ̉ hai vẫn được duy trì
ca ̉ trên publisher và subscriber.
40
GV Phi Loan - Khoa CNTT – HUI
Merge agent
• Theo dõi xung đột mư ́c hàng (uses row-
level conflict tracking): số điện thoại bàn
của John Smith được câ ̣p nhật cả hai
trên publisher và subscriber, còn số điện
thoại di đô ̣ng trên subscriber sẽ bị roll
back, giá trị xung đột được ghi nhật k{
vào bảng conflict.
41
GV Phi Loan - Khoa CNTT – HUI 42
GV Phi Loan - Khoa CNTT – HUI
Replication Topology
• Tùy vào yêu cầu nghiệp vụ để xác định
replication như thề nào cho phù hợp.
• Nên giư ̃ cho subscriber, publisher và
distributor trong như ̃ng phần cư ́ng riêng
biê ̣t.
• Các replication topology thông dụng là:
– Central publisher
– Central subscriber
– Publishing subscriber
43
GV Phi Loan - Khoa CNTT – HUI
Central publisher
• Là topology thông dụng
nhât́
• Có 1 publisher và 1 hay
nhiều subscriber.
• Những thay đỏ̂i dữ liệu
ở publisher sẽ flow về 1
hay nhiều subscriber.
44
GV Phi Loan - Khoa CNTT – HUI
Central subscriber
• Có 1 subscriber và nhiều
publisher.
• Bất kế lúc nào có sự thay
đò̂i dữ liệu ở publisher sẽ
được hợp nhất lại trên 1
subscriber.
45
GV Phi Loan - Khoa CNTT – HUI
Peer-to-Peer topology
46
Sơ đồ nào thông du ̣ng hơn??
GV Phi Loan - Khoa CNTT – HUI
Peer-to-Peer topology (tt)
• Có thể được dùng cho nhiều ư ́ng dụng
khác nhau từ Web sites đêń các ư ́ng
dụng workgroup.
• Các lợi điểm của mô hình:
– Ca ̉i thiê ̣n tốc đô ̣ read, vì có thê ̉ read trên ca ̉
2 server
– Tính sẵn sàng cao nếu cần ba ̉o trì hay 1
trong 2 node bị lỗi
47
GV Phi Loan - Khoa CNTT – HUI
Sơ đồ nào thông dụng hơn?
• Hoa ̣t đô ̣ng read ca ̉ hai sơ đồ đều là load-balanced
giư ̃a các CSDL thành phâǹ nhưng việc câ ̣p nhâ ̣t thì
khác nhau:
• Sơ đồ trái: viê ̣c câ ̣p nhâ ̣t được chia đều cho ca ̉ 2
server. Ví du ̣, nếu CSDL chư ́a danh mục sản phâ ̉m
(product catalog), ư ́ng dụng có thể câ ̣p nhâ ̣t trực
tiếp vào node A các sa ̉n phâ ̉m có tên bắt đâù từ A
M, câ ̣p nhật vào node B các sản phâ ̉m có tên băt́ đâù
tư ̀ N Z, sau đó 2 node này replicate cho nhau.
48
GV Phi Loan - Khoa CNTT – HUI
Sơ đồ nào thông dụng hơn?
• Sơ đồ phải: tât́ ca ̉ câ ̣p nhật đều trực tiếp trên
node B. Sau đó các câ ̣p nhật này được replicate
đến node A. Nếu B offline (vd để ba ̉o trì), thì
application server có thể hướng tât́ ca ̉ hoa ̣t
đô ̣ng đến A. Khi B onlien trở la ̣i, câ ̣p nhật có thể
flow đến nó và application server có thể chuyển
tât́ ca ̉ câ ̣p nhật quay về la ̣i B hay tiếp tục hướng
đến A
• Thường sơ đồ B chi ̉ dùng cho transaction
replication, còn sơ đồ A dùng cho ca ̉ transaction
thông thường và peer-to-peer replication
49
GV Phi Loan - Khoa CNTT – HUI 50
GV Phi Loan - Khoa CNTT – HUI
Topologies That Have Three or More
Participating Databases
• The support engineers at each office take
customer calls and enter and update
information about each customer call. The
time zones for the three offices are eight
hours apart, so there is no overlap in the
workday. As the Taipei office closes, the
London office is opening for the day. If a call is
still in progress as one office is closing, the call
is transferred to a representative at the next
office to open.
51
GV Phi Loan - Khoa CNTT – HUI
Topologies That Have Three or More
Participating Databases
• Each location has a database and an
application server, which are used by the
support engineers as they enter and update
information about customer calls. The
topology is partitioned by time. Therefore,
updates occur only at the node that is
currently open for business, and then the
updates flow to the other participating
databases.
52
GV Phi Loan - Khoa CNTT – HUI
Topologies That Have Three or More
Participating Databases
• This topology provides the following benefits:
– Independence without isolation: Each office can
insert, update, or delete data independently but
can also share the data because it is replicated to
all other participating databases.
– Higher availability in case of failure or to allow
maintenance at one or more of the participating
databases.
53
GV Phi Loan - Khoa CNTT – HUI
Replication và các edition cu ̉a SQL
server 2008
• Express edition: chỉ có thể là subscriber
• Standard edition: chi ̉ có thể có 5 subscribers
• Web edtion: chi ̉ có 25 subscriber.
• Merge replication chi ̉ có thể được dùng làm
replication với các subscribers cùng phiên bản
hay thâṕ hơn.
– Ví du ̣: SQL Server 2005 không thể làm publisher để
merge replicate với các subscriber chạy SQL Server
2008. Tuy nhiên SQL Server 2008 publisher có thể
replicate vơ ́i subscriber chạy SQL Server 2005.
54
GV Phi Loan - Khoa CNTT – HUI
SQL Server 2012 replication
• Só̂ lượng tó̂i đa có thể áp dụng cho SQL Server
2012 replication:
– Merge publication articles 256
– Snapshot or transactional publication articles 32,767
– Merge publication columns in a table 246
– Snapshot or transactional publication columns in a
table 1,000
– Merge replication bytes for a column used in a row
filter 1,024
– Snapshot or transactional publication bytes for a
column used in a row filter 8,000
55
GV Phi Loan - Khoa CNTT – HUI
Mô hình replication
• Có thể so sánh MS SQL Server replication vơ ́i
magazine:
– Nhà xuât́ ba ̉n ta ̣p chí (magazine publisher) ta ̣o ra 1 hay
nhiều âń phâ ̉m (publication)
– Một âń phâ ̉m (publication) chứa nhiêù bài báo (article)
– Nhà xuât́ ba ̉n hoă ̣c phân phối trực tiếp hoă ̣c thông qua
các nhà phân phôí (distributor)
– Người đă ̣t báo dài ha ̣n (Subscriber) nhâ ̣n các ấn phâ ̉m mà
ho ̣ đã đặt.
• Nhưng replication của SQL server khác vơ ́i magazine:
subscriber có thể câ ̣p nhâ ̣t âń phâ ̉m, và Publisher có
thể liên tục gửi các thay đô ̉i đến các article trong 1 ấn
phâ ̉m nào đó.
56
GV Phi Loan - Khoa CNTT – HUI
Cá̂u hình replication
• Ta ̣o publisher và distributor
• Ta ̣o snapshot/transactional publication
• Ta ̣o subscription dạng push hoă ̣c pull
tương ư ́ng với 1 transactional/snapshot
publication
57
GV Phi Loan - Khoa CNTT – HUI
Tạo Publisher và Distributor
• Để 1 server trở thành publisher, trước
tiên cần phải câú hình nó như 1
Distributor
• Trong lúc cấu hình publisher với 1
distributor, hãy cấu hình nó như 1
distributor trươ ́c khi ta ̣o publication đầu
tiên.
58
GV Phi Loan - Khoa CNTT – HUI
Tạo Publisher và Distributor
• Distributor là 1 điển hình database đóng vai
trò như 1 kho (store) đê ̉ nhân ba ̉n của 1 hay
nhiều Publisher. Mỗi Publisher liên quan đến
1 DB, được gọi là distribution database. DB
này chư ́a dư ̃ liê ̣u về tra ̣ng thái replication,
publication,..
• Mô ̣t DB server có thê ̉ đóng cả 2 vai trò vư ̀a là
Publisher vư ̀a là Distributor, được go ̣i là
local Distributor.
59
GV Phi Loan - Khoa CNTT – HUI 60
GV Phi Loan - Khoa CNTT – HUI
Tạo Distributor
• Kết nó̂i với server sẽ được dùng làm
distributor trong SQL Server Management
Studio.
• Nhâṕ phải tại folder replication, chọn lệnh
Configure Distribution.
• Cho ̣n server làm distributor, mặc định là
local server.
• Cho ̣n snapshot folder như vị trí mặc định
đê ̉ snapshot agent k{ gửi snapshot.
61
GV Phi Loan - Khoa CNTT – HUI
Tạo Distributor (tt)
• Chọn tên và nơi lưu trư ̃ distributor database
và file log
• Cho phép server sử dụng distributor này khi
server trở thành 1 publisher
62
GV Phi Loan - Khoa CNTT – HUI 63
GV Phi Loan - Khoa CNTT – HUI
Secure the Snapshot Folder
• Snapshot folder dùng đê ̉ lưu trư ̃ các file
snapshot.
• Nên dùng 1 thư mục riêng, cấp cho Snapshot
Agent quyền write vào folder này, và quyêǹ
read cho Windows account, thông qua đó
Merge/ Distribution agent có thể truy xuất vào
folder này.
64
GV Phi Loan - Khoa CNTT – HUI
Secure the distributor
• Các replication agent nó̂i với Distributor:
– Log Reader Agent
– Snapshot Agent
– Queue Reader Agent
– Distribution Agent
– Merge Agent
• Câǹ phải cung cấp các login phù hợp cho
mõ̂i loại agent
65
GV Phi Loan - Khoa CNTT – HUI
Bảo mật kết nối từ publisher đến
distributor
• Để hỏ̂ trợ việc giao tiếp giư ̃a Publisher và
Distributor, replication tự động câú hình
server tư ̀ xa có tên repl_distributor.
• repl_distributor được dùng để giao tiếp
với CSDL distribution cho dù CSDL này
năm̀ ở Publisher hay thường trú trong 1
instance tư ̀ xa.
66
GV Phi Loan - Khoa CNTT – HUI
Bảo mật kết nối từ publisher đến
distributor
• Khi CSDL distribution nằm ở instance cục bộ,
password ngẫu nhiên được phát ra và cấu
hình tự đô ̣ng.
• Khi CSDL distribution nằm trên instance tư ̀
xa, người qua ̉n trị cấu hình 1 password dùng
chung trong lúc tạo Publisher và Distributor;
password này được dùng đê ̉ chư ́ng thực cho
link repl_distributor.
67
GV Phi Loan - Khoa CNTT – HUI
Bảo mật kết nối từ publisher đến
distributor
• Distributor sử dụng repl_distributor để kiểm chứng
server đang go ̣i có được cấu hình như Publisher
không, kiểm tra password được cung câṕ bởi
Publisher, và kiểm tra stored procedure có pha ̉i là thủ
tục dùng cho replication hay không??
• Password được dùng cho repl_distributor có liên
quan đến tài khoa ̉n đăng nhâ ̣p distributor_admin.
– distributor_admin được tự động thêm vào server role
sysadmin ở server dùng làm Distributor.
– Các thủ tục replication sẽ sử dụng distributor_admin đê ̉
kết nó̂i với Distributor.
68
GV Phi Loan - Khoa CNTT – HUI
Bảo mật publisher
• Các agent kết nó̂i đêń Publisher:
– Log Reader Agent
– Snapshot Agent
– Queue Reader Agent
– Merge Agent
• Câǹ cung cấp login phù hợp cho các
agent này.
69
GV Phi Loan - Khoa CNTT – HUI
Publication Access list (PAL)
• PAL là cơ chế sơ cấp để ba ̉o mâ ̣t các publication
ta ̣i Publisher.
• Tương tự như access control list cu ̉a Windows.
• Khi ta ̣o 1 publication, replication ta ̣o 1 PAL chư ́a
danh sách các logins và group được cấp quyền
truy xuât́ đến publication.
• Khi có yêu cầu truy xuât́ đến publication, thông
tin xác thực trong PAL sẽ được so sánh với
login cu ̉a Publisher do agent cung cấp.
70
GV Phi Loan - Khoa CNTT – HUI
Publication Access list (PAL)
• Mặc định các login sau thuộc PAL:
– Thành viên của sysadmin lúc ta ̣o publication
– Login được dùng lúc ta ̣o publication
• Mặc định tất cả login của sysadmin hay
db_owner của database làm publication
đều có thể subscribe đêń publication mà
không phải thêm tường minh vào PAL.
71
GV Phi Loan - Khoa CNTT – HUI 72
GV Phi Loan - Khoa CNTT – HUI
Creating publication
• Nhấp pha ̉i tại folder Replication\local publication,
cho ̣n lệnh New Publication.
• Cho ̣n database muồn replicate
• Cho ̣n loa ̣i publication
• Cho ̣n article
• Xác định khi nào chạy Snapshot Agent? (tùy chọn)
• Agent security : Xác định account để cha ̣y
snapshot agent
73
GV Phi Loan - Khoa CNTT – HUI 74
GV Phi Loan - Khoa CNTT – HUI
CSDL distribution
• Ngay sau khi ta ̣o 1 publication đầu tiên,
CSDL hệ thó̂ng mới có tên là distribution
được ta ̣o ra.
• CSDL này lưu trư ̃ metadata và dữ liệu
history của tất cả các loại replication và
các transaction của transactional
replication.
75
Các file đính kèm theo tài liệu này:
- chuong_5_ktcd_dbms_phan_2_7049.pdf