Transact-SQL 参考

sp_addsynctriggers

在订阅服务器上创建与所有类型的可更新订阅(即时、排队和将排队更新作为故障转移的即时更新)一起使用的触发器。此存储过程在订阅服务器的订阅数据库上执行。

语法

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'

参数

[@sub_table =] 'sub_table'

是订阅服务器表名。sub_table 的数据类型为 sysname,没有默认设置。

[@sub_table_owner =] 'sub_table_owner'

是订阅服务器表所有者的名称。sub_table_owner 的数据类型为 sysname,没有默认设置。

[@publisher =] 'publisher'

是发布服务器名。publisher 的数据类型为 sysname,没有默认设置。

[@publisher_db =] 'publisher_db'

是发布服务器数据库名。publisher_db 的数据类型为 sysname,没有默认设置。如果是 NULL,则表示使用当前数据库。

[@publication =] 'publication'

是发布名。publication 的数据类型为 sysname,没有默认设置。

[@ins_proc =] 'ins_proc'

是在发布服务器上支持同步事务插入的存储过程名。ins_proc 的数据类型为 sysname,没有默认设置。

[@upd_proc =] 'upd_proc'

是在发布服务器上支持同步事务更新的存储过程名。ins_proc 的数据类型为 sysname,没有默认设置。

[@del_proc =] 'del_proc'

是在发布服务器上支持同步事务删除的存储过程名。ins_proc 的数据类型为 sysname,没有默认设置。

[@cftproc = ] 'cftproc'

是允许排队更新的发布所使用的自动生成存储过程的名称。cftproc 的数据类型为 sysname,没有默认设置。对于允许即时更新的发布,此值为 NULL。该参数适用于允许排队更新(排队更新和将排队更新作为故障转移的即时更新)的发布。

[@proc_owner = ] 'proc_owner'

指定发布服务器中的用户帐户,在该帐户下创建了用于(排队和/或即时)更新发布的所有自动生成存储过程。proc_owner 的数据类型为 sysname,没有默认设置。

[@identity_col =] 'identity_col'

是发布服务器上的标识列名。identity_col 的数据类型为 sysname,默认设置为 NULL。

[@ts_col =] 'timestamp_col'

是发布服务器上的 timestamp 列名。timestamp_col 的数据类型为 sysname,默认设置为 NULL。

[@filter_clause =] 'filter_clause'

是定义水平筛选的 (WHERE) 限制子句。输入该限制子句时,省略关键字 WHERE。filter_clause 的数据类型为 nvarchar(4000),默认设置为 NULL。

[@primary_key_bitmap =] 'primary_key_bitmap'

是表内主键列的位图。primary_key_bitmap 的数据类型为 varbinary(4000),没有默认设置。

[@identity_support = ] identity_support

当使用排队更新时启用和禁用自动标识范围处理。identity_support 的数据类型为 bit,默认设置为 0。0 表示没有标识范围支持,而 1 表示启用自动标识范围处理。

[@independent_agent = ] independent_agent

表示是否有用于该发布的单个分发代理程序(独立代理程序),或每个发布数据库和订阅数据库对有一个分发代理程序(共享代理程序)。该值反映了在发布服务器上定义的发布的 independent_agent 属性值。independent_agent 的数据类型为 bit,默认设置为 0。如果是 0,则表示代理程序为共享代理程序。如果是 1,则表示代理程序为独立代理程序。

[@distributor = ] 'distributor'

是分发服务器名称。distributor 的数据类型为 sysname,没有默认设置。

返回代码值

0(成功)或 1(失败)

注释

分发代理程序将 sp_addsynctriggers 作为订阅初始化的一部分。此存储过程通常不能由用户运行,但如果用户需要手工设置非同步订阅,则此过程很有用。

权限

只有 sysadmin 固定服务器角色成员或 db_owner 固定数据库角色成员才能执行 sp_addsynctriggers

请参见

在即时更新中将排队更新作为故障转移

为复制选项制定计划

sp_articlesynctranprocs

sp_script_synctran_commands

系统存储过程