本主题介绍如何使用 SQL Server Management Studio、Transact-SQL 或复制管理对象(RMO)在 SQL Server 2014 中查看和修改推送订阅属性。
本主题内容
若要查看和修改推送订阅属性,请使用:
使用 SQL Server Management Studio
在发布者中查看和修改推送订阅属性:
“订阅属性 - <发布服务器>:<PublicationDatabase>”对话框,可从 SQL Server Management Studio 获取。
可在复制监视器中找到所有订阅选项卡。 有关启动复制监视器的信息,请参阅 “启动复制监视器”。
在 Management Studio 中查看和修改推送订阅属性
在 Management Studio 中连接到发布服务器,然后展开服务器节点。
展开 “复制 ”文件夹,然后展开 “本地发布” 文件夹。
展开相应的发布,右键单击订阅,然后单击“ 属性”。
根据需要修改任何属性,然后单击“ 确定”。
在复制监视器中查看和修改推送订阅属性
在复制监视器的左窗格中展开一个发布服务器组,展开该发布服务器,然后单击一个发布项。
单击“ 所有订阅 ”选项卡。
右键单击某个订阅,然后单击“ 属性”。
根据需要修改任何属性,然后单击“ 确定”。
使用 Transact-SQL
可以使用复制存储过程编程地修改推送订阅及其属性。 使用的存储过程取决于订阅所属的发布类型。
查看快照或事务发布中推送订阅的属性
在发布者的发布数据库上执行 sp_helpsubscription。 为@article指定@publication、@subscriber和全部值。
在发布服务器上,对发布数据库执行 sp_helpsubscriberinfo,并指定 @subscriber。
将推送订阅的属性更改为快照或事务发布
在发布者处的发布数据库上,执行 sp_changesubscriber,指定 @subscriber 和要修改的订阅服务器属性的任何参数。
在发布服务器上,对发布数据库执行 sp_changesubscription。 指定@publication、@subscriber、@destination_db,@article设置为all,将要更改的订阅属性@property,并将新值指定为@value。 这会更改推送订阅的安全设置。
(可选)若要更改订阅的数据转换服务(DTS)包属性,请在订阅服务器上对订阅数据库执行 sp_changesubscriptiondtsinfo 。 指定 @jobid 分发代理作业的 ID 以及以下 DTS 包属性:
@dts_package_name
@dts_package_password
@dts_package_location
这会更改订阅的 DTS 包属性。
注释
可以通过执行 sp_helpsubscription来获取作业 ID。
查看合并发布的推送订阅属性
在发布服务器上,对发布数据库执行 sp_helpmergesubscription。 指定 @publication 和 @subscriber。
在发布服务器上,执行 sp_helpsubscriberinfo,指定 @subscriber。
将推送订阅的属性更改为合并发布
- 在发布者的发布数据库上,执行 sp_changemergesubscription。 指定 @publication、 @subscriber、 @subscriber_db,更改的订阅属性为 @property,并指定新值为 @value。
示例 (Transact-SQL)
使用复制管理对象 (RMO)
用于查看或修改推送订阅属性的 RMO 类取决于推送订阅所关联的发布类型。
查看或修改对快照或事务发布的推送订阅属性
使用 ServerConnection 类创建与发布服务器的连接。
创建 TransSubscription 类的一个实例。
设置PublicationName、DatabaseName、SubscriberName和SubscriptionDBName属性。
将步骤 1 中的 ServerConnection 设置为 ConnectionContext 属性设定。
调用 LoadProperties 方法获取该对象的属性。 如果此方法返回
false
,则说明步骤 3 中的订阅属性没有正确定义或该订阅不存在。(可选)若要更改属性,请为可设置的属性之 TransSubscription 一设置一个新值,然后调用该方法 CommitPropertyChanges 。
(可选)若要查看新设置,请调用 Refresh 该方法以重新加载订阅的属性。
查看或修改合并发布项的推送订阅属性
使用 ServerConnection 类创建与订阅服务器的连接。
创建 MergeSubscription 类的一个实例。
设置PublicationName、DatabaseName、SubscriberName和SubscriptionDBName属性。
在步骤 1 中设置ServerConnection以调整ConnectionContext属性设置。
调用 LoadProperties 方法获取该对象的属性。 如果此方法返回
false
,则说明步骤 3 中的订阅属性没有正确定义或该订阅不存在。(可选)若要更改属性,请为可设置的属性之 MergeSubscription 一设置一个新值,然后调用该方法 CommitPropertyChanges 。
(可选)若要查看新设置,请调用 Refresh 该方法以重新加载订阅的属性。