SQL Server複製允許數據庫管理員在整個組織內的多個服務器之間分發數據。 您可能希望在組織中實施複制,原因很多,例如:
- 負載平衡 。 複製允許您將數據傳播到多個服務器,然後在這些服務器之間分發查詢負載。
- 離線處理 。 複製支持在並非始終連接到網絡的計算機上處理數據庫中的數據。
- 冗餘 。 通過複製,您可以構建一個故障切換數據庫服務器,隨時準備好處理負載。
任何復制場景都有兩個主要組件:
- 發布商將數據提供給其他服務器。 給定的複制方案可能有一個或多個發布者。
- 訂閱者是希望在數據被修改時從發布者接收更新的數據庫服務器。
沒有什麼能夠阻止單一系統在這兩種能力中發揮作用。 實際上,這通常是大規模分佈式數據庫系統的設計。
SQL Server支持複製
Microsoft SQL Server支持三種類型的數據庫複製。 本文對這些模型中的每一個提供簡要介紹,而未來的文章將對其進行更詳細的探討。 他們是:
- 快照複製按其名稱暗示的方式進行操作。 發布者只需要獲取整個複制數據庫的快照並與訂閱者共享。 當然,這是一個非常耗時且耗費資源的過程。 由於這個原因,大多數管理員不會對頻繁更改的數據庫定期使用快照複製 。 有兩種情況下常用快照複製:首先,它用於很少更改的數據庫。 其次,它用於設置基線來建立系統之間的複制,同時使用事務或合併複製來傳播未來的更新。
- 事務複製為定期更改的數據庫提供了更靈活的解決方案。 通過事務複製,複製代理可以監控發布者對數據庫的更改,並將這些更改發送給訂閱者。 這種傳輸可以立即或定期進行。
- 合併複製允許發布者和訂閱者獨立地對數據庫進行更改。 兩個實體都可以在沒有活動網絡連接的情況下工 重新連接時,合併複製代理檢查兩組數據上的更改並相應地修改每個數據庫。 如果更改發生衝突,代理將使用預定義的衝突解決算法來確定適當的數據。 合併複製通常由筆記本電腦用戶和其他不能連續連接到發布者的用戶使用。
這些複製技術中的每一種都具有有用的用途,並且非常適合特定的數據庫場景。
如果您正在使用SQL Server 2016,請根據您的複制需求選擇您的版本。 當涉及到復制支持時,每個版本都有不同的功能:
- 僅支持訂閱者:支持 Express或Express的工具或高級服務 , Web版本提供有限的複制功能,只能用作複製客戶端。
- 完整的發行商和訂閱者支持 : 標準版和企業版提供全面支持,企業版還包括Oracle發布,對等事務複製和事務複製作為可更新訂閱。
正如您無疑已經認識到的那樣,SQL Server的複制功能為數據庫管理員提供了一個在企業環境中管理和擴展數據庫的強大工具。