sp_changemergesubscription (Transact-SQL)
适用范围:SQL Server
更改合并推送订阅的选定属性。 此存储过程在发布服务器上对发布数据库执行。
重要
使用远程分发服务器配置发布服务器时,为所有参数(包括 @job_login 和 @job_password)提供的值将作为纯文本发送到分发服务器。 在执行此存储过程之前,应该对发布服务器及其远程分发服务器之间的连接进行加密。 有关详细信息,请参阅将 SQL Server 数据库引擎配置为使用加密连接。
语法
sp_changemergesubscription
[ [ @publication = ] N'publication' ]
[ , [ @subscriber = ] N'subscriber' ]
[ , [ @subscriber_db = ] N'subscriber_db' ]
[ , [ @property = ] N'property' ]
[ , [ @value = ] N'value' ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]
参数
[ @publication = ] N'publication'
要更改的发布的名称。 @publication为 sysname,默认值为 NULL
. 此发布必须已经存在且必须符合标识符规则。
[ @subscriber = ] N'subscriber'
订阅服务器的名称。 @subscriber为 sysname,默认值为 NULL
.
[ @subscriber_db = ] N'subscriber_db'
订阅数据库的名称。 @subscriber_db 是 sysname,可以是下表中的值之一。
[ @property = ] N'property'
给定发布的要更改的属性。 @property 为 sysname,可以是下表中的值之一。
[ @value = ] N'value'
指定 @property的新值。 @value 为 nvarchar(255),默认值为 NULL
.
属性 | 价值 | 说明 |
---|---|---|
description |
对该合并订阅的说明。 | |
priority |
订阅优先级。 在检测到冲突时,默认冲突解决程序将使用该优先级来选取入选方。 | |
merge_job_login |
用来运行代理的 Windows 帐户的登录名。 | |
merge_job_password |
用来运行代理的 Windows 帐户的密码。 | |
publisher_security_mode |
1 |
连接发布服务器时,使用 Windows 身份验证。 |
0 |
连接到发布服务器时使用 SQL Server 身份验证。 | |
publisher_login |
发布服务器上的登录名。 | |
publisher_password |
提供的发布服务器登录的强密码。 | |
subscriber_security_mode |
1 |
连接订阅服务器时,使用 Windows 身份验证。 |
0 |
连接到订阅服务器时使用 SQL Server 身份验证。 | |
subscriber_login |
在订阅服务器上的登录名。 | |
subscriber_password |
提供的订阅服务器登录的强密码。 | |
sync_type |
automatic |
已发布表的架构和初始数据将首先传输到订阅服务器。 |
none |
订阅服务器已经具有已发布表的架构和初始数据;将始终传输系统表和数据。 | |
use_interactive_resolver |
true |
允许交互式地解决所有允许交互式解决的项目的冲突。 |
false |
使用默认解决程序或自定义解决程序自动解决冲突。 | |
NULL (默认值) |
NULL (默认值) |
[ @force_reinit_subscription = ] force_reinit_subscription
确认此存储过程所执行的操作是否需要重新初始化现有订阅。 @force_reinit_subscription为位,默认值为 0
.
0
指定对合并项目所做的更改不会导致重新初始化订阅。 如果该存储过程检测到更改将需要重新初始化订阅,则会发生错误,并且不进行任何更改。1
指定对合并项目重新初始化现有订阅的更改,并为要发生的订阅重新初始化授予权限。
返回代码值
0
(成功)或 1
(失败)。
注解
sp_changemergesubscription
用于合并复制。
更改代理登录名或密码之后,必须先停止并重新启动代理,然后更改才能生效。
权限
只有 sysadmin 固定服务器角色的成员或db_owner固定数据库角色的成员才能执行sp_changemergesubscription
。