Share via


所有類型複寫的考量

文件集的這一部分包含了實作複寫前應考慮的方面,例如識別資料行、條件約束以及資料類型。本主題涵蓋了影響所有類型複寫的各個方面,下列主題還提供其他資訊:

除了這些主題以外,每個複寫功能的主題也說明了實作功能的注意事項。

SQL Server Agent

複寫使用了名為代理程式的獨立程式,以執行與追蹤變更和散發資料有關的工作。依預設,複寫代理程式會作為 SQL Server Agent 下排程的作業來執行。若要執行作業,必須執行 SQL Server Agent。依預設,安裝 SQL Server 2005 時會停用 SQL Server Agent 服務,除非明確選擇在安裝期間自動啟動該服務。如需有關啟動 SQL Server Agent 服務的詳細資訊,請參閱<啟動 SQL Server Agent>。

安全性考量

瞭解如何確保安全的複寫環境,以便於應用程式中保護資料和商務邏輯,這是很重要的。基本上,確保複寫環境的安全性也就是要瞭解您的驗證與授權選項,瞭解如何適當使用複寫篩選功能,並學習確保各複寫環境 (包括散發者、發行者、訂閱者和快照集資料夾) 安全性的特定方法。如需詳細資訊,請參閱<複寫安全性考量>。

管理考量

設定複寫之後,請務必瞭解如何管理複寫拓撲。如需管理複寫之最佳作法的詳細資訊,請參閱<複寫管理的最佳作法>。這個主題提供各個範疇的基本最佳作法指導,並可透過連結方式分別取得進一步資訊。除了依照此主題中呈現的最佳作法指導以外,請考慮閱讀常見問答集,以更加熟悉一般問題:複寫管理員的常見問題集

網路和效能考量

在以下方面,有一些與效能相關的最佳作法要遵循:

  • 伺服器和網路硬體
  • 資料庫設計
  • 散發者組態
  • 發行集設計與選項
  • 篩選設計與使用
  • 訂閱選項
  • 快照集選項
  • 代理程式參數
  • 維護

如需詳細資訊,請參閱<增強複寫效能>。

如果您正透過速度較慢的連接進行複寫,可以自訂複寫涉及之代理程式的設定檔。組態選項因要設定之設定檔所屬的特定代理程式而異。如需詳細資訊,請參閱<複寫代理程式設定檔>和<低速網路將引起問題>。

當套用初始快照集時,網路速度通常是最重要的問題。累加式資料變更的量可能較小,但最初散發的資料量可能較大。可能的解決方案包括:

指定複寫拓撲中的伺服器名稱

當指定參與複寫的伺服器執行個體名稱時,必須以 SQL Server 註冊伺服器執行個體名稱的格式提供該名稱。例如,當您在命令列中指定複寫預存程序的「發行者」或「訂閱者」參數,或複寫代理程式連接設定時,必須使用 SQL Server 執行個體名稱。如果 SQL Server 執行個體的網路名稱與註冊執行個體名稱不同,代理程式的複寫連接便會失敗。如果執行個體的網路名稱與 SQL Server 執行個體的名稱不同,請考慮將 SQL Server 執行個體名稱新增為有效的網路名稱。設定另一可用網路名稱的方法之一,是將它加入本機主機檔案。本機主機檔案預設位於 WINDOWS\system32\drivers\etc 或 WINNT\system32\drivers\etc。如需進一步資訊,請參閱 Windows 文件集。

例如,若電腦名稱為 comp1,電腦 IP 位址是 10.193.17.129,且執行個體名稱為 inst1/instname,請將下列項目加入主機檔案:

10.193.17.129 inst1

資料完整性

對於允許在「訂閱者」端更新的拓撲,您必須確定在每個「訂閱者」端保留了應用程式的完整性。所有用於在「發行者」端驗證資料變更的控制項 (如條件約束),「訂閱者」端均應存在,或者應在應用程式中得到處理。如需「訂閱者」端之複寫代理程式和條件約束的詳細資訊,請參閱<使用 NOT FOR REPLICATION 控制條件約束、識別和觸發程序>。

資料衝突

對於允許在「訂閱者」端更新的拓撲,請設計應用程式以將衝突的可能縮到最小。如果「訂閱者」只需讀取資料而無需更新資料,衝突便可避免。根據地理位置或商務用途邏輯性地分割資料,同樣可以阻止使用者更新同一資料值,從而避免衝突。如需分割資料的詳細資訊,請參閱<篩選發行的資料>。

大型物件 (LOB) 資料類型

資料類型 textntextimage 已被取代。建議您分別使用資料類型 varchar(max)nvarchar(max)varbinary(max)。如果使用資料類型 textntextimage,請參閱<交易式複寫考量>和<合併式複寫考量>主題中的「大型物件 (LOB) 資料類型」一節,以獲得詳細資訊。

非「SQL Server 發行者」、非「SQL Server 訂閱者」和執行 Microsoft SQL Server 2005 Compact Edition 的「訂閱者」使用字元模式快照集。如果使用字元模式快照集,LOB 類型便會轉換為 Unicode,使快照集檔中 LOB 資料的大小變為發行集資料庫中相同資料的四倍。當資料複製到訂閱資料庫時,它會再次被轉換,最終結果是它的大小與發行集資料庫中的資料相同。

資料類型對應

如果複寫拓撲包含了舊版的 SQL Server、SQL Server 2005 Compact Edition、非「SQL Server 發行者」或非「SQL Server 訂閱者」,資料類型便會在資料庫之間對應。若需資料類型對應的清單,請參閱:

識別資料行

若要在具有多個節點更新的複寫拓撲裡使用識別資料行,複寫拓撲中的每個節點必須使用不同的識別值範圍,以免出現重複。複寫會處理所有發行集與訂閱類型的識別資料行,讓您能夠手動管理資料行,或者讓複寫自動管理這些資料行。如需詳細資訊,請參閱<複寫識別資料行>。

計算資料行

複寫只會將計算資料行的定義複製到「訂閱者」。「訂閱者」端每一資料行的值取決於「訂閱者」端的資料以及資料行的計算是否使用了非決定性函數。如果「發行者」端與「訂閱者」端的資料在某一給定的時間點上相同,且計算僅使用決定性函數,則資料行的計算值相同。如果資料不同或是計算使用一或多個非決定性函數,「發行者」端與「訂閱者」端的值便可能不同。如需函數決定論的詳細資訊,請參閱<決定性與非決定性函數>。

請參閱

其他資源

複寫的實作考量

說明及資訊

取得 SQL Server 2005 協助