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

適用於:SQL Server

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

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

  1. 撰寫及測試會視需要執行的 Transact-SQL 指令碼。

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

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

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

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

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

另請參閱

同步處理資料