sp_changesubscription (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

对于排队更新事务复制所涉及的快照或者事务推送订阅,或所涉及的请求订阅,更改其属性。 若要更改所有其他请求订阅类型的属性,请使用sp_change_subscription_properties(Transact-SQL)。 发布服务器上对发布数据库执行sp_changesubscription。

重要

使用远程分发服务器配置发布服务器时,为所有参数提供的值(包括 job_loginjob_password)都会以纯文本方式发送到该分发服务器。 在执行此存储过程之前,应该对发布服务器及其远程分发服务器之间的连接进行加密。 有关详细信息,请参阅启用数据库引擎的加密连接(SQL Server 配置管理器)

Transact-SQL 语法约定

语法

  
sp_changesubscription [ @publication = ] 'publication'  
        , [ @article = ] 'article'  
        , [ @subscriber = ] 'subscriber'  
        , [ @destination_db = ] 'destination_db'  
        , [ @property = ] 'property'  
        , [ @value = ] 'value'  
    [ , [ @publisher = ] 'publisher' ]  

参数

[ @publication = ] 'publication' 要更改的发布的名称。 publicationsysname,无默认值

[ @article = ] 'article' 要更改的项目的名称。 项目sysname,没有默认值。

[ @subscriber = ] 'subscriber' 订阅服务器的名称。 订阅服务器sysname,无默认值。

[ @destination_db = ] 'destination_db' 订阅数据库的名称。 destination_dbsysname,无默认值。

[ @property = ] 'property' 要更改给定订阅的属性。 属性nvarchar(30),可以是表中的值之一。

[ @value = ] 'value' 指定 属性的新值。 值为 nvarchar(4000),可以是表中的值之一。

属性 价值 说明
distrib_job_login 登录代理所依据的 Microsoft Windows 帐户。
distrib_job_password 用来运行代理的 Windows 帐户的密码。
subscriber_catalog 在与 OLE DB 访问接口建立连接时要使用的目录。 此属性仅适用于非 Microsoft SQL Server 订阅服务器。
subscriber_datasource OLE DB 访问接口识别的数据源的名称。 此属性仅适用于非 SQL Server 订阅服务器。
subscriber_location OLE DB 访问接口识别的数据库的位置。 此属性仅适用于非 SQL Server 订阅服务器。
subscriber_login 在订阅服务器上的登录名。
subscriber_password 提供的登录名的强密码。
subscriber_security_mode 1 连接订阅服务器时,使用 Windows 身份验证。
0 连接到订阅服务器时使用 SQL Server 身份验证。
subscriber_provider 非 SQL Server 数据源的 OLE DB 访问接口用于注册的唯一编程标识符 (PROGID)。 此属性仅适用于非 SQL Server 订阅服务器。
subscriber_providerstring OLE DB 访问接口特定的连接字符串,用于标识数据源。 此属性仅适用于非 SQL Server 订阅服务器。
subscriptionstreams 每个分发代理所允许的向订阅服务器并行应用批量更改的连接数。 SQL Server 发布服务器支持从 164 的值范围。 对于非 SQL Server 订阅服务器、Oracle 发布服务器或对等订阅,此属性必须为 0
subscriber_type 1 ODBC 数据源服务器
3 OLE DB 访问接口
memory_optimized bit 指示订阅支持内存优化表。 memory_optimized位,其中 1 等于 true(订阅支持内存优化表)。

[ @publisher = ] 'publisher' 指定非 SQL Server 发布服务器。 publishersysname,默认值为 NULL。

注意

不应为 SQL Server 发布服务器指定发布 服务器。

返回代码值

0 (成功) 或 1 (失败)

注解

sp_changesubscription用于快照和事务副本 (replica)。

sp_changesubscription只能用于修改排队更新事务副本 (replica)中涉及的推送订阅或拉取订阅的属性。 若要更改所有其他请求订阅类型的属性,请使用sp_change_subscription_properties(Transact-SQL)。

更改代理登录名或密码之后,必须先停止并重新启动代理,然后更改才能生效。

权限

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

另请参阅

sp_addsubscription (Transact-SQL)
sp_dropsubscription (Transact-SQL)