標籤:
MicrosoftSQL Server 提供了三種複製類型。 每種複製類型都適合於不同應用程式的要求。 根據應用程式需要,可以在拓撲中使用一種或多種複製類型:
為了協助您選擇適當的複製類型,此主題提供了有關下列內容的資訊:
我們建議您先要通讀方案描述,找出與應用程式要求最匹配的方案,然後單擊連結查看詳細資料。 如果找不到與業務要求近似匹配的方案,或者希望得到有關複製類型的其他資訊,則請閱讀“複製類型”。 如果應用程式需要在一個或多個訂閱伺服器上更新,則請閱讀“在訂閱伺服器中更新資料”,以確定可使用的適當技術。
複製方案
複製方案可以分為兩大類: 在伺服器到伺服器環境中複製資料和在伺服器與用戶端間複製資料。 伺服器到伺服器方案使用事務複製(有時也可使用快照式複寫)實現;伺服器和用戶端方案使用合併式複寫實現。
伺服器到伺服器方案
資料通常在伺服器之間進行複製,以支援下列應用程式和要求:
方案 |
說明 |
提高伸縮性和可用性 |
通過維護不斷更新的資料副本,可以將讀取活動擴充到多台伺服器。 執行計畫系統維護和非計劃系統維護期間,應為同一資料維護多個副本以實現資料冗餘,這一點至關重要。 有關詳細資料,請參閱改善伸縮性和可用性。 |
資料倉儲和報表 |
資料倉儲和報表伺服器通常使用聯機交易處理 (OLTP) 伺服器中的資料。 使用複製在 OLTP 伺服器和報表與決策支援系統之間移動資料。 有關詳細資料,請參閱資料倉儲和報告。 |
整合來自多個網站的資料 |
資料通常從各個遠程辦事處“匯入”總部並在總部進行整合。 同樣,資料也可以從總部複製到遠程辦事處。 有關詳細資料,請參閱整合來自多個網站(伺服器)的資料。 |
整合異質資料 |
有些應用程式要依賴於發送至或來自非 MicrosoftSQL Server 的資料庫的資料。 使用複製整合來自非 SQL Server 資料庫的資料。 有關詳細資料,請參閱整合異質資料。 |
卸載批處理 |
批處理操作由於通常會佔用過多資源而無法在 OLTP 伺服器上運行。 使用複製將批處理任務卸載到專用批處理伺服器上。 有關詳細資料,請參閱卸載批處理。 |
伺服器和用戶端方案
資料通常在伺服器和用戶端(包括工作站、攜帶型電腦、Tablet 和設定)之間複製,以支援下列應用程式:
方案 |
說明 |
與移動使用者交換資料 |
許多應用程式要求資料可用於遠端使用者,包括銷售人員、送貨司機等。 這些應用程式套件組合括客戶關係管理 (CRM) 應用程式、銷售自動化 (SFA) 應用程式和現場自動化 (FFA) 應用程式。 有關詳細資料,請參閱與移動使用者交換資料。 |
消費者銷售點 (POS) 應用程式 |
POS 應用程式(如結算終端和 ATM 機)要求將資料從遠端站台複製到中心網站。 有關詳細資料,請參閱使用者銷售點 (POS) 應用程式。 |
整合來自多個網站的資料 |
應用程式通常整合來自多個網站的資料。 例如,支援地區辦事處的應用程式可能要求資料在地區辦事處和總部之間單向或雙向流動。 有關詳細資料,請參閱整合來自多個網站(用戶端)的資料。 |
複製類型 快照式複寫
快照處理通常用於為事務和合并發布提供初始的資料集和資料庫物件,但快照式複寫還可為其自身所用。 當符合以下一個或多個條件時,使用快照式複寫本身是最合適的:
在資料更改量很大,但很少發生更改時,快照式複寫是最合適的。 例如,如果某銷售組織維護一個產品價格列表且這些價格每年要在固定時間進行一兩次完全更新,那麼建議在資料更改後複製完整的資料快照。
事務複製
事務複製通常用於伺服器到伺服器環境中,在以下各種情況下適合採用事務複製:
希望發生增量更改時將其傳播到訂閱伺服器。
從發行伺服器上發生更改,至更改到達訂閱伺服器,應用程式需要這兩者之間的延隔時間較短。
應用程式需要訪問中間資料狀態。 例如,如果某一行更改了五次,事務複製將允許應用程式響應每次更改(例如,激發觸發器),而不只是響應該行最終的資料更改。
發行伺服器有大量的插入、更新和刪除活動。
發行伺服器或訂閱伺服器不是 SQL Server 資料庫(例如,Oracle)。
預設情況下,事務發布訂閱伺服器應作唯讀處理,因為更改並不傳播回傳布伺服器。 但是,事務複製確實提供了允許在訂閱伺服器上進行更新的選項。 有關詳細資料,請參閱本主題中的“在訂閱伺服器中更新資料”部分。
合併式複寫
合併式複寫通常用於伺服器到用戶端的環境中。 合併式複寫適用於下列各種情況:
多個訂閱伺服器可能會在不同時間更新同一資料,並將這些更改傳播到發行伺服器和其他訂閱伺服器。
訂閱伺服器需要接收資料,離線變更,並在隨後與發行伺服器和其他訂閱伺服器同步更改。
每個訂閱伺服器都需要不同分區的資料。
可能會發生衝突,並且在衝突發生時,您需要具有檢測和解決衝突的能力。
應用程式需要最終的資料更改結果,而不是訪問中間資料狀態。 例如,在訂閱伺服器與發行伺服器同步前,如果訂閱伺服器上的行更改了五次,則該行將只在發行伺服器上更改一次,以反映最終資料更改(也就是更改為第五個值)。
合併式複寫允許不同網站自主工作,並在以後將更新合并成一個統一的結果。 由於更新是在多個節點上進行的,同一資料可能由發行伺服器和多個訂閱伺服器進行了更新。 因此,在合并更新時可能會產生衝突,合併式複寫提供了多種處理衝突的方法。
在訂閱伺服器上更新資料
下列類型的複製和複製選項允許在訂閱伺服器上變更,並使這些更改流向發行伺服器:
複製類型 |
何時使用... |
合併式複寫 |
有關詳細資料,請參閱合併式複寫概述和合併式複寫的工作機制。 |
對等事務複製 |
複製被用於改進伸縮性和可用性。
需要最短延隔時間。
資料未在訂閱伺服器間分區。
通常不會發生衝突,但如果有,則一定會檢測得到。
有關詳細資料,請參閱對等事務複製。 |
帶有更新訂閱的事務複製 |
有關詳細資料,請參閱事務複製的可更新訂閱。 |
SQL Server 發布訂閱 發布類型詳解