订阅出版物

适用于:SQL ServerAzure SQL 数据库

订阅是对发布中的数据和数据库对象的副本的请求。 订阅定义了你收到哪种出版物,以及你在哪里、何时收到。 在规划订阅时,请考虑希望代理处理在哪个位置进行。 所选择的订阅类型将控制代理运行的位置。 对于推送订阅,合并代理或分发代理在分发服务器上运行;对于请求订阅,代理在订阅服务器上运行。 创建订阅后,你不能从一种类型更改到另一种。

注意

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

订阅 特征 何时使用
推送订阅 对于推送订阅,发布服务器将更改传播到订阅服务器,而无需订阅服务器发出请求。 更改可以按需、连续地或按照计划推送到订阅服务器。 分发代理或合并代理在分发服务器上运行。 通常,数据将连续同步或按照经常重复执行的计划同步。

发布操作需要近乎实时的数据传输。

分发服务器上较高的处理器开销不会影响性能。

最常与快照复制和事务复制一起使用。
请求订阅 对于请求订阅,订阅服务器请求在发布服务器上所做的更改。 请求订阅允许订阅服务器上的用户确定同步数据更改的时间。 分发代理或合并代理在订阅服务器上运行。 数据通常按需或按计划同步,而非连续同步。

发布具有大量订阅服务器,和/或运行分发服务器上的所有智能体会消耗过多资源。

订阅者是独立的、离线的和/或移动的。 订阅方将决定何时进行连接并同步更改。

通常与合并复制一起使用。

合并复制订阅类型

所有复制类型都允许推送订阅和拉取订阅。 合并复制使用另外两个术语来区分订阅:客户端订阅和服务器订阅。 客户端订阅和服务器订阅类型都可用于推送订阅和请求订阅。 客户端订阅适用于大多数订阅者,而服务器订阅通常用于将数据重新发布给其他订阅者的订阅者。 订阅选择还会影响冲突解决。

非 SQL Server 订阅服务器

Oracle 和 IBM Db2 可以使用推送订阅来订阅快照发布和事务发布。 有关详细信息,请参阅 Non-SQL Server Subscribers。

创建订阅

创建订阅时,请提供以下信息:

  • 出版物的名称。

  • 订阅者和订阅数据库的名称。

  • 分发代理或合并代理是在分发服务器上运行还是在订阅服务器上运行。

  • 分发代理或合并代理是连续运行、按照计划运行,还是仅按需运行。

  • 快照代理是否应为订阅创建初始快照,以及分发代理或合并代理是否应在订阅服务器上应用该快照。

  • 分发智能体或合并智能体运行的帐户。

  • 在合并复制中,订阅的类型:服务器或客户端。

创建推送订阅

创建推送订阅

查看或修改推送订阅属性

查看和修改推送订阅属性

删除推送订阅

SQL Server Management Studio:删除推送订阅

注意

删除订阅不会移除订阅者发布的对象。

创建请求订阅

SQL Server Management Studio:创建请求订阅

查看或修改请求订阅属性

查看和修改请求订阅属性

删除请求订阅

删除请求订阅