在同步處理期間執行指令碼 (複寫 Transact-SQL 程式設計)

複寫可支援視需要針對交易式與合併式發行集的訂閱者執行指令碼。 這項功能會將指令碼複製到複寫工作目錄,然後使用 sqlcmd 將指令碼套用到訂閱者。 依預設,如果針對交易式發行集的訂閱套用指令碼時發生失敗,則散發代理程式將會停止。 您可以指定 Transact-SQL 腳本,以程式設計方式使用複寫預存程式來執行。

針對快照式、交易式或合併式發行集的所有訂閱者指定要執行的指令碼

  1. 撰寫及測試將視需要執行的 Transact-SQL 腳本。

  2. 將指令碼檔案儲存到可由發行集之快照集代理程式存取的位置。

  3. 在發行集資料庫的發行者上,執行 sp_addscriptexec (Transact-SQL) 。 指定 @publication,並針對 @scriptfile指定步驟 2 中建立之具有完整 UNC 路徑的指令碼檔案名稱及針對 @skiperror指定下列其中一個值:

    • 0 - 如果遇到錯誤,代理程式將會停止執行指令碼。

    • 1 - 如果遇到錯誤,代理程式將會記錄錯誤並繼續執行指令碼。

  4. 當下一次執行代理程式來同步處理訂閱時,指定的指令碼將會在每一個訂閱者上執行。

另請參閱

同步處理資料