SQL Server 的復制技術 包括 訂閱和發布
復制的組成部分:發布服務器(出版社),分發服務器(郵局),訂閱服務器(讀者,接受者)
發布服務器的作用:維護源數據庫,由這些數據庫出版的數據能夠為復制所利用,檢測並將所有出版數據的更改發送到分發服務器
分發服務器的作用:分發服務器包括分發數據庫,並且存儲元數據、歷史數據和事務。根據所實施復制類型的不同,分發服務器所扮演的角色也各異,一般情況下與合並復制相比較,分發服務器對於快照復制和事務復制的角色更重要。
訂閱服務器的作用:保持數據的副本,並接收對所修改出版的更改。取決於所實現的復制選項,可能還允許更新者更新數據,並將其復制回服務器或者其它訂閱者。
復制的模式:推模式(Push),拉模式(Pull) 區別:分發代理程序在分發服務器上運行,即為推模式,在訂閱服務器運行,即為拉模式。
復制的類型:快照復制,事務復制、合並復制。允許訂閱更新的快照復制。允許訂閱更新的事務復制。
詳細分類:帶立即更新的快照復制,帶立即更新的事務復制,這兩種都是采用的分布式的事務處理原理。快照復制是事務復制的基礎,快照復制傳輸的包括表結構等信息。在訂閱服務器上創建,然後是分發代理程序,傳輸數據。
出版物:發布服務器發布的一個整體。一個出版物能夠包括一個或多個文章,文章可以是數據或數據庫對象。因為出版中的所有文章能能夠在相同時刻保持同步。出版物是訂閱的基礎,對出版物的訂閱包括出版物中的所有文章,每個用戶數據庫中能夠構創建一個或多個出版物。
文章:出版物的一部分,表或數據庫的對象(存儲過程、視圖、用戶自定義函數)的全部或者部分篩選分區數據。
復制代理:快照代理(snapshot agent) 分布式代理(Distribution agent) 日志讀代理(log Reader agent) 合並代理(Merge agent) 隊列讀代理(Queue Reader Agent)
快照復制的工作機制:
1、發布服務器,將要發布的數據庫整個做一個快照,
2、訂閱服務器的快照代理程序把發布服務器的快照讀取過來,放在本地的快照文件夾內
3、訂閱服務器的發布代理程序把快照文件夾中的快照發布到訂閱服務器上。歷史記錄和快照記錄在分發服務器中。
事務復制的基本原理:
1、初始數據和架構(通過快照復制來完成),從這裡可以體現出來快照復制,是所有復制的基礎 。快照復制在訂閱服務器上建立了訂閱數據庫。
2、發布服務器的數據修改後,寫事務日志,
3、分發服務器的日志讀取代理讀取發生改變的數據的事務日志,把這些事務日志保存在發布服務器的發布數據庫中。
4、分發服務器的分發代理程序 將分發數據庫中的事務日志分發到各個訂閱服務器上,然後把歷史記錄和錯誤記錄在分發數據庫中