查看和修改推送订阅属性
适用于: 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 中查看和修改推送订阅属性
在 Management Studio 中连接到发布服务器,然后展开服务器节点。
展开 “复制” 文件夹,再展开 “本地发布” 文件夹。
展开相应的发布,右键单击订阅,然后单击 “属性”。
根据需要修改属性,然后单击 “确定”。
在复制监视器中查看和修改推送订阅属性
在复制监视器的左窗格中依次展开发布服务器组、发布服务器,然后单击某个发布。
单击 “所有订阅” 选项卡。
右键单击订阅,然后单击 “属性”。
根据需要修改属性,然后单击 “确定”。
“使用 Transact-SQL”
可以使用复制存储过程以编程方式修改推送订阅和访问其属性。 所用的存储过程取决于订阅所属的发布的类型。
查看快照或事务发布的推送订阅的属性
在发布服务器上,对发布数据库执行 sp_helpsubscription。 指定 @publication、 @subscriber,并为 @article 指定值 all。
在发布服务器上,对发布数据库执行 sp_helpsubscriberinfo,同时指定 @subscriber。
更改快照或事务发布的推送订阅的属性
在发布服务器上,对发布数据库执行 sp_changesubscriber,执行时请为要更改的订阅服务器属性指定 @subscriber 及任何参数。
在发布服务器上,对发布数据库执行 sp_changesubscription。 指定 @publication、 @subscriber、 @destination_db,为 @article 指定值 all,将 @property指定为要更改的订阅属性,并将 @value指定为新值。 这将更改推送订阅的安全设置。
(可选)若要更改订阅的 Data Transformation Services (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 属性。
将 ServerConnection 属性设置为步骤 1 中的 ConnectionContext 。
调用 LoadProperties 方法获取该对象的属性。 如果此方法返回 false,则说明步骤 3 中的订阅属性没有正确定义或该订阅不存在。
(可选)若要更改属性,请为可以设置的 TransSubscription 属性中的一个设置新值,然后再调用 CommitPropertyChanges 方法。
(可选)若要查看新设置,请调用 Refresh 方法重新加载此订阅的属性。
查看或修改合并发布的推送订阅的属性
使用 ServerConnection 类创建与订阅服务器的连接。
创建 MergeSubscription 类的一个实例。
设置 PublicationName、 DatabaseName、 SubscriberName和 SubscriptionDBName 属性。
将 ServerConnection 属性设置为步骤 1 中的 ConnectionContext 。
调用 LoadProperties 方法获取该对象的属性。 如果此方法返回 false,则说明步骤 3 中的订阅属性没有正确定义或该订阅不存在。
(可选)若要更改属性,请为可以设置的 MergeSubscription 属性中的一个设置新值,然后再调用 CommitPropertyChanges 方法。
(可选)若要查看新设置,请调用 Refresh 方法重新加载此订阅的属性。