查看和修改请求订阅属性

适用于: SQL Server Azure SQL 托管实例

了解如何使用 SQL Server Management Studio、Transact-SQL 或复制管理对象在 SQL Server 中查看和修改请求订阅属性。

本主题内容

使用 SQL Server Management Studio

在“订阅属性 - <发布服务器>: <PublicationDatabase>”对话框(可从 SQL Server Management Studio 访问该对话框)中,可以从发布服务器或订阅服务器查看请求订阅属性。 可以从订阅服务器中查看更多属性,并且可以在订阅服务器上修改属性。 也可以从发布服务器的 “所有订阅” 选项卡上查看属性信息,此选项卡可以通过复制监视器访问。 有关启动复制监视器的信息,请参阅启动复制监视器

从 Management Studio 中的发布服务器查看请求订阅属性

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

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

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

  4. 查看属性,然后单击 “确定”

从 Management Studio 中的订阅服务器查看和修改请求订阅属性

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

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

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

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

从复制监视器的发布服务器查看请求订阅属性

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

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

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

  4. 查看属性,然后单击 “确定”

“使用 Transact-SQL”

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

查看对快照发布或事务发布的请求订阅的属性

  1. 在订阅服务器上,执行 sp_helppullsubscription。 指定 @publisher@publisher_db@publication。 此操作将返回关于存储在订阅服务器上系统表中的订阅的信息。

  2. 在订阅服务器上,执行 sp_helpsubscription_properties。 指定 @publisher或复制管理对象 (RMO) 在 @publisher_db或复制管理对象 (RMO) 在 @publication,并将下列值之一指定给 @publication_type

    • 0 - 订阅属于事务发布。

    • 1 - 订阅属于快照发布。

  3. 在发布服务器上,执行 sp_helpsubscription。 指定 @publication@subscriber

  4. 在发布服务器上,执行 sp_helpsubscriberinfo,同时指定 @subscriber。 此操作将显示关于订阅服务器的信息。

更改对快照发布或事务发布的请求订阅的属性

  1. 在订阅服务器上,执行 sp_change_subscription_properties,同时指定 @publisher@publisher_db@publication,然后将 @publication_type 的值指定为 0(对于事务)或 1(对于快照),指定要更改为 @property 的订阅属性和要更改为 @value 的新值

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

    • @dts_package_name

    • dts_package_password

    • @dts_package_location

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

    注意

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

查看对合并发布的请求订阅的属性

  1. 在订阅服务器上,执行 sp_helpmergepullsubscription。 指定 @publisher@publisher_db@publication

  2. 在订阅服务器上,执行 sp_helpsubscription_properties。 指定 @publisher@publisher_db@publication,并将 @publication_type 的值指定为 2。

  3. 在发布服务器上,执行 sp_helpmergesubscription 以显示订阅信息。 若要返回有关特定订阅的信息,则必须指定 @publication@subscriber,并将@subscription_type 的值指定为“pull”

  4. 在发布服务器上,执行 sp_helpsubscriberinfo,同时指定 @subscriber。 此操作将显示关于订阅服务器的信息。

更改对合并发布的请求订阅的属性

  1. 在订阅服务器上,执行 sp_changemergepullsubscription。 指定 @publication@publisher@publisher_db,以及要更改为 @property 的订阅属性,要更改为 @value 的新值。

使用复制管理对象 (RMO)

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

查看或修改对快照发布或事务发布的请求订阅的属性

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

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

  3. 设置 PublicationNameDatabaseNamePublisherNamePublicationDBName 属性。

  4. ConnectionContext 属性设置步骤 1 中的连接。

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

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

  7. (可选)若要查看新设置,请调用 Refresh 方法以重新加载该项目的属性。

  8. 关闭所有连接。

查看或修改对合并发布的请求订阅的属性

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

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

  3. 设置 PublicationNameDatabaseNamePublisherNamePublicationDBName 属性。

  4. ConnectionContext 属性设置步骤 1 中的连接。

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

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

  7. (可选)若要查看新设置,请调用 Refresh 方法以重新加载该项目的属性。

  8. 关闭所有连接。