查看和修改推送订阅属性

适用于: SQL Server Azure SQL 数据库

此主题介绍如何使用 SQL Server Management Studio、Transact-SQL 或复制管理对象 (RMO) 在 SQL Server 中查看和修改推送订阅属性。

注意

对于快照复制和事务复制,Azure SQL 托管实例可以是发布服务器、分发服务器和订阅服务器。 对于快照复制和事务复制,Azure SQL 数据库中的数据库只能是推送订阅服务器。 有关详细信息,请参阅使用 Azure SQL 数据库Azure SQL 托管实例进行事务复制。

使用 SQL Server Management Studio

可以从下列位置查看和修改发布服务器的推送订阅属性:

  • “订阅属性 - <发布服务器>: <PublicationDatabase>”对话框,可从 SQL Server Management Studio 中获取。

  • “所有订阅” 选项卡,该选项卡可以从复制监视器中找到。 有关启动复制监视器的信息,请参阅启动复制监视器

在 Management Studio 中查看和修改推送订阅属性

  1. 在 Management Studio 中连接到发布服务器,然后展开服务器节点。

  2. 展开 “复制” 文件夹,再展开 “本地发布” 文件夹。

  3. 展开相应的发布,右键单击订阅,然后单击 “属性”

  4. 根据需要修改属性,然后单击 “确定”

在复制监视器中查看和修改推送订阅属性

  1. 在复制监视器的左窗格中依次展开发布服务器组、发布服务器,然后单击某个发布。

  2. 单击 “所有订阅” 选项卡。

  3. 右键单击订阅,然后单击 “属性”

  4. 根据需要修改属性,然后单击 “确定”

“使用 Transact-SQL”

可以使用复制存储过程以编程方式修改推送订阅和访问其属性。 所用的存储过程取决于订阅所属的发布的类型。

查看快照或事务发布的推送订阅的属性

  1. 在发布服务器上,对发布数据库执行 sp_helpsubscription。 指定 @publication@subscriber,并为 @article 指定值 all

  2. 在发布服务器上,对发布数据库执行 sp_helpsubscriberinfo,同时指定 @subscriber

更改快照或事务发布的推送订阅的属性

  1. 在发布服务器上,对发布数据库执行 sp_changesubscriber,执行时请为要更改的订阅服务器属性指定 @subscriber 及任何参数。

  2. 在发布服务器上,对发布数据库执行 sp_changesubscription。 指定 @publication@subscriber@destination_db,为 @article 指定值 all,将 @property指定为要更改的订阅属性,并将 @value指定为新值。 这将更改推送订阅的安全设置。

  3. (可选)若要更改订阅的 Data Transformation Services (DTS) 包属性,请在订阅服务器上,对订阅数据库执行 sp_changesubscriptiondtsinfo 。 为 @jobid 指定分发代理作业的 ID,并指定以下 DTS 包属性:

    • @dts_package_name

    • @dts_package_password

    • @dts_package_location

    此操作将更改订阅的 DTS 包属性。

    注意

    可以通过执行 sp_helpsubscription来获得作业 ID。

查看合并发布的推送订阅的属性

  1. 在发布服务器上,对发布数据库执行 sp_helpmergesubscription。 指定 @publication@subscriber

  2. 在发布服务器上,执行 sp_helpsubscriberinfo,同时指定 @subscriber

更改合并发布的推送订阅的属性

  1. 在发布服务器上,对发布数据库执行 sp_changemergesubscription。 指定 @publication@subscriber@subscriber_db,将 @property指定为要更改的订阅属性,并将 @value指定为新值。

示例 (Transact-SQL)

使用复制管理对象 (RMO)

用于查看或修改推送订阅属性的 RMO 类取决于订阅推送订阅的发布的类型。

查看或修改快照发布或事务发布的推送订阅的属性

  1. 使用 ServerConnection 类创建与发布服务器的连接。

  2. 创建 TransSubscription 类的一个实例。

  3. 设置 PublicationNameDatabaseNameSubscriberNameSubscriptionDBName 属性。

  4. ServerConnection 属性设置为步骤 1 中的 ConnectionContext

  5. 调用 LoadProperties 方法获取该对象的属性。 如果此方法返回 false,则说明步骤 3 中的订阅属性没有正确定义或该订阅不存在。

  6. (可选)若要更改属性,请为可以设置的 TransSubscription 属性中的一个设置新值,然后再调用 CommitPropertyChanges 方法。

  7. (可选)若要查看新设置,请调用 Refresh 方法重新加载此订阅的属性。

查看或修改合并发布的推送订阅的属性

  1. 使用 ServerConnection 类创建与订阅服务器的连接。

  2. 创建 MergeSubscription 类的一个实例。

  3. 设置 PublicationNameDatabaseNameSubscriberNameSubscriptionDBName 属性。

  4. ServerConnection 属性设置为步骤 1 中的 ConnectionContext

  5. 调用 LoadProperties 方法获取该对象的属性。 如果此方法返回 false,则说明步骤 3 中的订阅属性没有正确定义或该订阅不存在。

  6. (可选)若要更改属性,请为可以设置的 MergeSubscription 属性中的一个设置新值,然后再调用 CommitPropertyChanges 方法。

  7. (可选)若要查看新设置,请调用 Refresh 方法重新加载此订阅的属性。