SQL-Server 複寫與鏡像 (Replication & Mirroring)
2020-12-30
筆記 SQL Server 複寫與鏡像功能的相關筆記 📋
持續編輯中 🧙♂️
複寫 Replication
解決分散式資料庫需求,能夠將資料庫內容複寫至多個地點,且具有將不同地點資料庫進行內容合併的彈性。
Technical Term
Article 發行項
由發行者所發行的資料庫物件,是複寫中的基本單位,作為發行集 (Publication) 的內容。
Publication 發行集
發行項的集合(Set of Articles),訂閱者向發行者是以發行集為單位進行訂閱。發行集來自單一資料庫、單一資料庫可以擁有多個發行集。
Publisher 發行者
負責提供發行集 (Publication) 給其他的 SQL Server 伺服器。
Subscriber 訂閱者
向發行者訂閱發行集,可以是被動的等待發送訂閱 (Push),或者主動地提出提取訂閱 (Pull)。
Distributor 散發者
負責將發行者 (Publisher) 的發行內容傳輸到訂閱者所在的資料庫伺服器,散發者會利用系統資料庫管理所要複寫的內容。
Push Subscription 發送訂閱
由發行者提供發行集至訂閱者(經由散發者傳輸)。
Pull Subscription 提取訂閱
由訂閱者主動向發行者要求發行者進行更新。
複寫類型
Snapshot Replication 快照式
由訂閱者主動向發行者要求發行者進行更新。
Transactional Replication 交易式複寫
- Updatable Subscription
- Immediate Updating
- Queued Updating
- Peer-to-Peer Transactional Replication
Merge Replication 合併式複寫
Agent 代理程式物件
Snapshot Agent
Distribution Agent
Log Reader Agent
Merge Agent
Queue Reader Agent
鏡像 Mirroring
將主體資料庫 (Principal) 內容完整地備份在鏡像資料庫 (Mirror),並且藉由鏡像技術動態且即時地保持一致。
鏡像模式
包含 High-Performance 及 High-Safety Mode
High-Performance Mode
將交易紀錄傳送給鏡像伺服器即認定完成。
High-Safety Mode
將交易紀路傳送給鏡像伺服器後,必須等鏡像伺服器進行認可 (Commit) 才完成鏡像作業。
Non-Failover Mode
無法主動進行容錯移轉。
Failover Mode
藉由第三方見證伺服器 (Witness),來判斷是否進行容錯移轉至鏡像伺服器,以保持高可用性。