拓撲中的所有複寫元件都應作為損毀復原計畫的一部份來編寫指令碼,而指令碼也可以用於自動執行重複性工作。 腳本包含實作已編寫之複寫元件所必要的 Transact-SQL 系統預存程序,例如發行或訂閱。 指令碼可以在精靈 (例如新發行集精靈) 中建立,或可在建立元件之後,於 Microsoft SQL Server Management Studio 中建立。 您可使用 SQL Server Management Studio 或 sqlcmd,檢視、修改和執行指令碼。 指令碼可以和備份檔案一起儲存,萬一必須重新設定複寫拓撲時即可使用。
如果進行任何屬性變更,則應重新編寫元件腳本。 若您在異動複寫中使用自訂預存程序,每個程序副本會與指令碼同時儲存;若程序變更,則副本必須更新 (程序通常在結構描述變更或改變應用程式需求時進行更新)。 如需自訂程序的詳細資訊,請參閱指定交易式發行項變更的傳播方式。
對於使用參數化篩選的合併式發行集,發行集腳本包含用來建立數據分割的預存過程調用。 腳本會提供所建立分割區的參考,以及在必要時重新建立一個或多個分割區的方法。
使用腳本將工作自動化的範例
請考慮 Adventure Works Cycles,其使用合併複製技術來將數據分發給遠端銷售人員。 銷售代表會使用抓取訂閱下載其所負責銷售區域客戶的所有相關數據。 離線工作時,銷售代表會更新數據,並輸入新的客戶和訂單。 因為 Adventure Works Cycles 在不同地區有超過 50 個銷售代表,所以使用 [新增訂閱精靈] 在每個訂閱者上建立不同的訂閱相當耗時。 相反地,復寫系統管理員可以遵循下列步驟:
根據銷售代表或其領域,設定必要的合併發行項和區段。
建立一個訂閱者的提取訂閱。
根據該提取訂用帳戶產生腳本。
修改腳本,變更訂閱者名稱等值。
在多個訂閱者端執行腳本,以產生必要的提取訂閱。
編寫複寫物件的腳本
從複製精靈或 Microsoft SQL Server Management Studio 的 複製 資料夾中撰寫複製物件腳本。 如果您使用精靈編寫腳本,您可以選擇建立物件然後編寫腳本,或者僅選擇編寫腳本。
這很重要
所有密碼都設為NULL。 可能的話,會在執行階段提示使用者輸入安全性認證。 如果您將認證儲存在指令碼檔案中,必須保護該檔案免於未經授權的存取。
如需使用復寫精靈的詳細資訊,請參閱:
從複製精靈編寫物件的腳本
在精靈的 [ 精靈動作 ] 頁面上,選取適合精靈的複選框:
產生具有建立發行集步驟的腳本檔案
產生具有建立訂用帳戶步驟的腳本檔案
產生具有設定散發步驟的腳本檔案
在 [ 腳本檔案屬性 ] 頁面上指定選項。
完成安裝精靈。
從 Management Studio 撰寫物件腳本
在 Management Studio 中連接到散發伺服器、發行伺服器或訂閱伺服器,然後展開伺服器節點。
展開 復寫 資料夾,然後展開 本機發行集 資料夾或 本機訂閱 資料夾。
以滑鼠右鍵按一下發行集或訂閱,然後按一下 [ 產生腳本]。
在 [ 產生 SQL 腳本 - <ReplicationObject> ] 對話框中指定選項。
點擊腳本到檔案。
在 [ 腳本檔案位置 ] 對話框中輸入檔名,然後按兩下 [ 儲存]。 顯示狀態消息。
按一下 [確定] ,然後按一下 [關閉] 。
若要從Management Studio編寫多個物件的腳本
連接到Management Studio中的散發者、發行者或訂閱者,然後展開伺服器節點。
以滑鼠右鍵按兩下 [ 複寫 ] 資料夾,然後按兩下 [ 產生腳本]。
在 [ 產生 SQL 文稿] 對話框中指定選項。
按兩下 [ 腳稿至檔案]。
在 [ 腳本檔案位置 ] 對話框中輸入檔名,然後按兩下 [ 儲存]。 顯示狀態消息。
按兩下 [確定],然後按兩下 [ 關閉]。