分享方式:


sp_register_custom_scripting (Transact-SQL)

適用於:SQL Server

復寫可讓使用者定義的自定義預存程式取代事務複製中使用的一或多個預設程式。 對復寫數據表進行架構變更時,會重新建立這些預存程式。 sp_register_custom_scripting註冊預存程式或 Transact-SQL 腳本檔案,該檔案會在架構變更發生時執行,以編寫新使用者定義自定義預存程式定義的腳本。 這個新的使用者定義的自定義預存程式應該反映數據表的新架構。 sp_register_custom_scripting是在發行集資料庫的發行者端執行,而且當架構變更發生時,會在訂閱者端執行已註冊的腳本檔案或預存程式。

Transact-SQL 語法慣例

語法

  
sp_register_custom_scripting [ @type  = ] 'type'  
    [ @value = ] 'value'   
    [ , [ @publication = ] 'publication' ]  
    [ , [ @article = ] 'article' ]  

引數

[ @type = ] 'type' 這是要註冊的自定義預存程式或腳本類型。 類型varchar(16),沒有預設值,而且可以是下列其中一個值。

Description
insert 當復寫 INSERT 語句時,會執行已註冊的自定義預存程式。
update 復寫 UPDATE 語句時,會執行已註冊的自定義預存程式。
delete 復寫 DELETE 語句時,會執行已註冊的自定義預存程式。
custom_script 文本會在數據定義語言 (DDL) 觸發程式結尾執行。

[ @value = ] 'value' 要註冊之 Transact-SQL 腳本檔案之預存程式或名稱和完整路徑的名稱。 valuenvarchar(1024),沒有預設值。

注意

針對 value參數指定 NULL 將會取消註冊先前註冊的腳本,這與執行 sp_unregister_custom_scripting相同。

當 類型的custom_script時,必須是 Transact-SQL 腳本檔案的名稱和完整路徑。 否則, 必須是已註冊預存程序的名稱。

[ @publication = ] 'publication' 要註冊自定義預存程式或腳本的發行集名稱。 publicationsysname,預設值為 NULL

[ @article = ] 'article' 要註冊自定義預存程式或腳本之發行項的名稱。 articlesysname,預設值為 NULL

傳回碼值

0 (成功) 或 1 (失敗)

備註

sp_register_custom_scripting用於快照式和事務複製。

此預存程式應在對複寫數據表進行架構變更之前執行。 如需使用此預存程式的詳細資訊,請參閱重新產生自定義交易程式以 反思 架構變更

權限

只有系統管理員固定伺服器角色、db_owner固定資料庫角色或db_ddladmin固定資料庫角色的成員才能執行sp_register_custom_scripting

另請參閱

sp_unregister_custom_scripting (Transact-SQL)