sp_addsynctriggers (Transact-SQL)

在訂閱者端建立搭配所有可更新訂閱類型 (立即、佇列和以佇列更新進行容錯移轉的立即更新) 來使用的觸發程序。這個預存程序執行於訂閱資料庫的訂閱者端。

重要事項重要事項

您應該利用 sp_script_synctran_commands 程序來取代 sp_addsynctriggersp_script_synctran_commands 會產生包含 sp_addsynctrigger 呼叫的指令碼。

主題連結圖示 Transact-SQL 語法慣例


sp_addsynctriggers [ @sub_table = ] 'sub_table'
        , [ @sub_table_owner = ] 'sub_table_owner'
        , [ @publisher = ] 'publisher'
        , [ @publisher_db = ] 'publisher_db'
        , [ @publication = ] 'publication' 
        , [ @ins_proc = ] 'ins_proc' 
        , [ @upd_proc = ] 'upd_proc' 
        , [ @del_proc = ] 'del_proc' 
        , [ @cftproc = ] 'cftproc'
        , [ @proc_owner = ] 'proc_owner'
    [ , [ @identity_col = ] 'identity_col' ]
    [ , [ @ts_col = ] 'timestamp_col' ]
    [ , [ @filter_clause = ] 'filter_clause' ] 
        , [ @primary_key_bitmap = ] 'primary_key_bitmap'
    [ , [ @identity_support = ] identity_support ]
    [ , [ @independent_agent = ] independent_agent ]
        , [ @distributor = ] 'distributor' 
    [ , [ @pubversion = ] pubversion

[@sub_table=] 'sub_table'

這是訂閱者資料表的名稱。sub_tablesysname,沒有預設值。

[@sub_table_owner=] 'sub_table_owner'

這是訂閱者資料表的擁有者名稱。sub_table_ownersysname,沒有預設值。

[@publisher=] 'publisher'

這是發行者伺服器的名稱。publishersysname,沒有預設值。

[@publisher_db=] 'publisher_db'

這是發行者資料庫的名稱。publisher_dbsysname,沒有預設值。如果是 NULL,就會使用目前的資料庫。

[@publication=] 'publication'

這是發行集的名稱。Publication sysname,沒有預設值。

[@ins_proc=] 'ins_proc'

這是支援在發行者端之同步交易插入的預存程序名稱。ins_procsysname,沒有預設值。

[@upd_proc=] 'upd_proc'

這是支援在發行者端之同步交易更新的預存程序名稱。ins_procsysname,沒有預設值。

[@del_proc=] 'del_proc'

這是支援在發行者端之同步交易刪除的預存程序名稱。ins_procsysname,沒有預設值。

[@cftproc = ] 'cftproc'

這是允許佇列更新的發行集所用的自動產生程序名稱。cftprocsysname,沒有預設值。如果是允許立即更新的發行集,這個值便是 NULL。這個參數適用於允許佇列更新 (佇列更新和以佇列更新進行容錯移轉的立即更新) 的發行集。

[@proc_owner = ] 'proc_owner'

在發行者中,指定用來建立更新發行集 (佇列和/或立即) 所有自動產生的預存程序之使用者帳戶。proc_ownersysname,沒有預設值。

[@identity_col=] 'identity_col'

這是在發行者端之識別欄位的名稱。identity_colsysname,預設值是 NULL。

[@ts_col=] 'timestamp_col'

這是在發行者端之 timestamp 資料行的名稱。timestamp_colsysname,預設值是 NULL。

[@filter_clause=] 'filter_clause'

這是定義水平篩選的限制 (WHERE) 子句。當輸入限制子句時,請省略 WHERE 關鍵字。filter_clausenvarchar(4000),預設值是 NULL。

[@primary_key_bitmap =] 'primary_key_bitmap'

這是資料表中之主索引鍵資料行的點陣圖。primary_key_bitmapvarbinary(4000),沒有預設值。

[@identity_support = ] identity_support

在使用佇列更新時,啟用和停用自動識別範圍處理。identity_supportbit,預設值是 00 表示沒有識別範圍支援,1 會啟用自動識別範圍處理。

[@independent_agent = ] independent_agent

指出這個發行集有單一散發代理程式 (獨立代理程式),或每一組發行集資料庫和訂閱資料庫有一個散發代理程式 (共用代理程式)。這個值反映發行者端所定義之發行集的 independent_agent 屬性值。independent_agent 是一個位元,預設值是 0。如果是 0,代理程式就是共用代理程式。如果是 1,代理程式是一個獨立代理程式。

[@distributor = ] 'distributor'

這是散發者的名稱。distributorsysname,沒有預設值。

[@pubversion= ] pubversion

指出發行者的版本。pubversionint,預設值是 1。1 表示發行者版本是 Microsoft SQL Server 2000 Service Pack 2 或更早的版本;2 表示發行者是 SQL Server 2000 Service Pack 3 (SP3) 或更新的版本。當發行者版本是 SQL Server 2000 SP3 或更新的版本時,pubversion 必須明確設為 2

0 (成功) 或 1 (失敗)

在訂閱初始化時,散發代理程式會使用 sp_addsynctriggers。使用者通常不會執行這個預存程序,但如果使用者需要手動設定非同步訂閱,它可能很有用。

只有系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,才能夠執行 sp_addsynctriggers

社群新增項目

新增
顯示: