sp_changesubscription (Transact-SQL)

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

安全说明安全说明

使用远程分发服务器配置发布服务器时,为所有参数提供的值(包括 job_login 和 job_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'
    要更改的发布的名称。 publication的数据类型为 sysname,无默认值。

  • [ @article = ] 'article'
    要更改的项目的名称。 article 的数据类型为 sysname,无默认值。

  • [ @subscriber = ] 'subscriber'
    订阅服务器的名称。 subscriber 的数据类型为 sysname,无默认值。

  • [ @destination_db = ] 'destination_db'
    订阅数据库的名称。 destination_db 的数据类型为 sysname,无默认值。

  • [ @property=] 'property'
    要更改的给定订阅的属性。 property 的数据类型为 nvarchar(30),可以是下表所列值之一。

  • [ @value=] 'value'
    用于指定的 property 的新值。 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

    唯一编程标识符 (PROGID),用于注册非 SQL Server 数据源的 OLE DB 访问接口。 此属性仅对非 SQL Server 订阅服务器有效。

    subscriber_providerstring

    OLE DB 访问接口特定的连接字符串,用于标识数据源。 此属性仅对非 SQL Server 订阅服务器有效。

    subscriptionstreams

    每个分发代理所允许的向订阅服务器并行应用批量更改的连接数。 SQL Server 发布服务器支持 164 之间的值范围。 对于非 SQL Server 订阅服务器、Oracle 发布服务器或对等订阅,此属性必须为 0

    subscriber_type

    1

    ODBC 数据源服务器

    3

    OLE DB 访问接口

  • [ @publisher = ] 'publisher'
    指定非 SQL Server 发布服务器。 publisher 的数据类型为 sysname,默认值为 NULL。

    注意注意

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

返回代码值

0(成功)或 1(失败)

注释

sp_changesubscription 用于快照复制和事务复制。

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

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

权限

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

请参阅

参考

sp_addsubscription (Transact-SQL)

sp_dropsubscription (Transact-SQL)