本主题介绍如何使用 SQL Server Management Studio、Transact-SQL 或复制管理对象(RMO)查看和修改 SQL Server 2014 中的请求订阅属性。
本主题内容
若要查看和修改请求订阅属性,请使用:
使用 SQL Server Management Studio
在 “订阅属性 - <发布服务器>: <PublicationDatabase> ”对话框中查看发布服务器或订阅服务器的请求订阅属性,该对话框可从 SQL Server Management Studio 获取。 订阅服务器中可以看到更多属性,并且可以在订阅服务器上修改属性。 还可以在“ 所有订阅 ”选项卡上的“发布服务器”中查看属性,该选项卡在复制监视器中可用。 有关启动复制监视器的信息,请参阅 “启动复制监视器”。
在 Management Studio 中查看发布服务器的请求订阅属性
在 Management Studio 中连接到发布服务器,然后展开服务器节点。
展开 “复制 ”文件夹,然后展开 “本地发布” 文件夹。
展开相应的发布,右键单击订阅,然后单击“ 属性”。
查看属性,然后单击“ 确定”。
在 Management Studio 中查看和修改订阅服务器中的请求订阅属性
在 SQL Server Management Studio 中连接到订阅者,然后展开服务器节点。
展开 “复制 ”文件夹,然后展开 “本地订阅 ”文件夹。
右键单击某个订阅,然后单击“ 属性”。
根据需要修改任何属性,然后单击“ 确定”。
在复制监视器中查看发布服务器的请求订阅属性
在复制监视器的左窗格中展开一个发布服务器组,展开该发布服务器,然后单击一个发布项。
单击“ 所有订阅 ”选项卡。
右键单击某个订阅,然后单击“ 属性”。
查看属性,然后单击“ 确定”。
使用 Transact-SQL
可以使用复制存储过程以编程方式修改拉取订阅及访问其属性。 使用的存储过程取决于订阅所属的发布类型。
查看针对快照或事务发布的拉取订阅的属性
在订阅服务器上,执行 sp_helppullsubscription。 指定 @publisher、 @publisher_db和 @publication。 这会返回有关订阅的信息,该信息存储在订阅者的系统表中。
在订阅服务器上,执行 sp_helpsubscription_properties。 为@publication_type指定@publisher、@publisher_db、@publication和以下值之一:
0 - 订阅属于事务发布。
1 - 订阅是快照发布的一部分。
在发布服务器上,执行 sp_helpsubscription。 指定 @publication 和 @subscriber。
在发布服务器上,执行 sp_helpsubscriberinfo,指定 @subscriber。 这会显示有关订阅者的信息。
更改拉取订阅的属性以用于快照或事务发布
在订阅服务器上,执行sp_change_subscription_properties,指定@publisher、@publisher_db、@publication,将@publication_type的值设为0(事务)或1(快照),指定要更改的订阅属性为@property,并将新值设为@value。
(可选)在订阅数据库的订阅服务器上,执行 sp_changesubscriptiondtsinfo。 指定 @jobid的分发代理作业的 ID,以及以下数据转换服务 (DTS) 包属性:
@dts_package_name
@dts_package_password
@dts_package_location
这会更改订阅的 DTS 包属性。
注释
可以通过执行 sp_helpsubscription来获取作业 ID。
查看合并发布的拉取订阅属性
在订阅端,执行 sp_helpmergepullsubscription。 指定 @publisher、 @publisher_db和 @publication。
在订阅端,执行 sp_helpsubscription_properties。 为@publication_type指定@publisher、@publisher_db、@publication和值 2。
在发布服务器上,执行 sp_helpmergesubscription 以显示订阅信息。 若要返回有关特定订阅的信息,必须指定@publication、@subscriber和@subscription_type的拉取值。
在发布服务器上,执行 sp_helpsubscriberinfo,指定 @subscriber。 这会显示有关订阅者的信息。
将请求订阅的属性更改为合并发布
- 在订阅服务器上,执行 sp_changemergepullsubscription。 指定 @publication、@publisher、@publisher_db,将要更改的订阅属性指定为@property,并将新值指定为@value。
使用复制管理对象 (RMO)
用于查看或修改提取订阅属性的 RMO 类取决于提取订阅所依赖的出版类型。
查看或修改对快照或事务发布的请求订阅的属性
使用 ServerConnection 类创建与订阅服务器的连接。
创建 TransPullSubscription 类的一个实例。
设置PublicationName、DatabaseName、PublisherName和PublicationDBName属性。
为 ConnectionContext 属性设置步骤 1 中的连接。
调用 LoadProperties 方法获取该对象的属性。 如果此方法返回
false
,则步骤 3 中的订阅属性定义不正确或服务器上不存在订阅。(可选)若要更改属性,请为可设置的属性之 TransPullSubscription 一设置一个新值,然后调用该方法 CommitPropertyChanges 。
(可选)若要查看新设置,请调用 Refresh 该方法以重新加载项目的属性。
关闭所有连接。
查看或修改合并发布的拉取订阅的属性
使用 ServerConnection 类创建与订阅服务器的连接。
创建 MergePullSubscription 类的一个实例。
设置PublicationName、DatabaseName、PublisherName和PublicationDBName属性。
为 ConnectionContext 属性设置步骤 1 中的连接。
调用 LoadProperties 方法获取该对象的属性。 如果此方法返回
false
,则步骤 3 中的订阅属性定义不正确或服务器上不存在订阅。(可选)若要更改属性,请为可设置的属性之 MergePullSubscription 一设置一个新值,然后调用该方法 CommitPropertyChanges 。
(可选)若要查看新设置,请调用 Refresh 该方法以重新加载项目的属性。
关闭所有连接。