編寫複寫指令碼

拓撲中所有複寫元件應視為嚴重損壞復原計畫的一部份來撰寫指令碼,且指令碼亦可用來將重複的工作自動化。指令碼包含實作已編寫指令碼之複寫元件所必要的 Transact-SQL 系統預存程序,例如,發行集或訂閱。指令碼可以在精靈中建立 (如新增發行集精靈),或者可以在建立元件之後,於 Microsoft SQL Server Management Studio 建立。您可使用 SQL Server Management Studio 或 sqlcmd,檢視、修改和執行指令碼。指令碼可以和備份檔案一起儲存,萬一必須重新設定複寫拓撲時即可使用。

如果對任何屬性進行了變更,則應對該元件重新編寫指令碼。若您在交易式複寫中使用自訂預存程序,每個程序副本會與指令碼同時儲存;若程序變更,則副本必須更新 (程序通常在結構描述變更或改變應用程式需求時進行更新)。如需有關自訂程序的資訊,請參閱<指定交易式發行項變更的傳播方式>。

對於使用參數化篩選的合併式複寫,發行集指令碼包含對建立資料分割的預存程序呼叫。指令碼提供所建立資料分割的參考,並提供必要時重新建立一或多個資料分割的方式。

利用指令碼自動化工作的範例

請考慮 Adventure Works Cycles,它實作合併式複寫以將資料散發到它的遠端銷售團隊。一個銷售代表使用提取訂閱下載與其區域客戶有關的所有資料。離線工作時,該銷售代表可以更新資料並輸入新的客戶與訂單。由於 Adventure Works Cycles 在各地共有 50 位以上的銷售代表,若是利用「新增訂閱精靈」在每個「訂閱者」上建立不同的訂閱,將相當耗時。反之,複寫管理員可遵循下列步驟:

  1. 使用根據銷售代表或其區域所進行之資料分割設定必要的合併式發行集。

  2. 為一個「訂閱者」建立提取訂閱。

  3. 根據該提取訂閱產生指令碼。

  4. 修改指令碼,變更例如「訂閱者」名稱等的值。

  5. 在多個「訂閱者」端執行指令碼以產生需要的提取訂閱。

若要編寫複寫指令碼

請參閱

其他資源