将请求订阅添加到合并发布。此存储过程在订阅服务器的订阅数据库上执行。
sp_addmergepullsubscription [ @publication = ] 'publication'
[ , [ @publisher = ] 'publisher' ]
[ , [ @publisher_db = ] 'publisher_db' ]
[ , [ @subscriber_type = ] 'subscriber_type' ]
[ , [ @subscription_priority = ] subscription_priority ]
[ , [ @sync_type = ] 'sync_type' ]
[ , [ @description = ] 'description' ]
[@publication = ] 'publication'
是发布名。publication 的数据类型为 sysname,没有默认设置。
[@publisher = ] 'publisher'
是发布服务器名。publisher 的数据类型为 sysname,默认设置为本地服务器名。该发布服务器必须是有效服务器。
[@publisher_db = ] 'publisher_db
是发布服务器数据库名。publisher_db 的数据类型为 sysname,默认设置为 NULL。
[@subscriber_type = ] 'subscriber_type'
是订阅服务器类型。subscriber_type 的数据类型为 nvarchar(15),且可以是 global、local 或 anonymous。
[@subscription_priority = ] subscription_priority
是订阅优先级。subscription_priority 的数据类型为 real,默认设置为 NULL。对于本地订阅和匿名订阅,优先级为 0.0。在检测到冲突时,默认的冲突解决程序使用该优先级挑选入选方。对于全局订阅服务器,订阅优先级必须低于发布服务器的优先级 100。
[@sync_type = ] 'sync_type'
是订阅同步类型。sync_type 的数据类型为 nvarchar(15),默认设置为 automatic。可以是 automatic 或 none。如果是 automatic,则表示首先将已发布表的架构和初始数据传输到订阅服务器。如果是 none,则假定订阅服务器已有已发布表的架构和初始数据。始终传输系统表和数据。
[@description = ] 'description'
是对该请求订阅的简短描述。description 的数据类型为 nvarchar(255),默认设置为 NULL。
0(成功)或 1(失败)
sp_addmergepullsubscription 用于合并复制。
sp_addmergepullsubscription 在请求订阅方面执行的功能与 sp_addmergesubscription 相似,但它不为该订阅创建代理程序。假定当前服务器名称和当前数据库名称是 subscriber 和 subscriber_db,且不出现在参数列表中。
如果创建全局订阅,则除了在订阅服务器上运行 sp_addmergepullsubscription 外,还必须在发布服务器上运行 sp_addmergesubscription 和 sp_addsubscriber 存储过程。
如果使用 SQL 代理程序对订阅进行同步处理,则 sp_addmergepullsubscription_agent 存储过程必须在订阅服务器上运行,才能创建与发布同步的代理程序和作业。
只有 sysadmin 固定服务器角色成员或 db_owner 固定数据库角色成员才能执行 sp_addmergepullsubscription。