手动初始化订阅

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中手动初始化订阅。 虽然初始快照通常用于初始化订阅,但可以在不使用快照的情况下初始化发布订阅,前提是订阅服务器上已存在架构和初始数据。

在您开始之前

局限性与限制

  • 如果在通过事务复制发布的数据库上,在数据和架构被复制到订阅服务器与手动初始化订阅的时间之间存在活动,则此活动产生的更改可能不会复制到订阅服务器。

使用 SQL Server Management Studio

通过将架构(通常是数据)复制到订阅数据库来手动初始化对发布的订阅。 架构和数据应与发布数据库匹配。 然后,在新订阅向导的初始化订阅页面上指定该订阅不需要架构和数据。 有关访问此向导的详细信息,请参阅 “在没有快照的情况下初始化事务订阅 ”和 “创建请求订阅”。

首次同步订阅时,复制所需的对象和元数据将复制到订阅数据库。

手动初始化出版物的订阅

  1. 确保架构和数据复制到订阅数据库。

  2. 清除“新建订阅向导”的“初始化订阅”页上的“初始化”复选框。 对每个仅需复制的对象和元数据的订阅执行此操作。

使用 Transact-SQL

可以使用复制存储过程手动初始化订阅。

手动初始化用于事务发布的拉取订阅

  1. 确保订阅数据库上存在架构和数据。 有关详细信息,请参阅 在不使用快照的情况下初始化事务订阅

  2. 在发布数据库的发布服务器上,执行 sp_addsubscription。 指定@publication@subscriber,订阅者上包含已发布数据的数据库名称为@destination_db,@subscription_type的值为拉取,@sync_type的值为仅复制支持。 有关详细信息,请参阅 “创建请求订阅”。

  3. 在订阅服务器上,执行 sp_addpullsubscription。 有关更新订阅,请参阅创建可更新事务发布订阅

  4. 在订阅服务器上,执行 sp_addpullsubscription_agent。 有关详细信息,请参阅 “创建请求订阅”。

  5. 启动分发代理以传输复制对象并从发布服务器下载最新更改。 有关详细信息,请参阅 同步请求订阅

手动初始化事务性发布的推送订阅

  1. 确保订阅数据库上存在架构和数据。 有关详细信息,请参阅 在不使用快照的情况下初始化事务订阅

  2. 在发布数据库的发布服务器上,执行 sp_addsubscription。 指定订阅者数据库中包含已发布数据的@destination_db的名称,将@subscription_type设为推送,并将@sync_type设为仅支持复制。 有关更新订阅,请参阅 创建事务发布的可更新订阅

  3. 在发布者的发布数据库上,执行 sp_addpushsubscription_agent。 有关详细信息,请参阅 创建推送订阅

  4. 启动分发代理以传输复制对象并从发布服务器下载最新更改。 有关详细信息,请参阅 同步推送订阅

手动初始化合并发布项的拉取订阅

  1. 确保订阅数据库上存在架构和数据。 这可以通过在订阅服务器上还原发布数据库的备份来完成。

  2. 在发布者处,执行 sp_addmergesubscription。 为@subscription_type指定@publication@subscriber@subscriber_db拉取值。 这会注册请求订阅。

  3. 在包含已发布数据的数据库的订阅服务器上,执行 sp_addmergepullsubscription。 为@sync_type指定值。

  4. 在订阅服务器上,执行 sp_addmergepullsubscription_agent。 有关详细信息,请参阅 “创建请求订阅”。

  5. 启动合并代理以传输复制对象并从发布服务器下载最新更改。 有关详细信息,请参阅 同步请求订阅

手动通过人工方式开始初始化合并出版物的订阅推送

  1. 确保订阅数据库上存在架构和数据。 这可以通过在订阅服务器上还原发布数据库的备份来完成。

  2. 在发布服务器上,对发布数据库执行 sp_addmergesubscription。 在订阅服务器上指定数据库的名称,其中包含已发布数据的@subscriber_db,将@subscription_type的值设置为push,并将@sync_type的值设置为none

  3. 在发布者的发布数据库上执行 sp_addmergepushsubscription_agent。 有关详细信息,请参阅 创建推送订阅

  4. 启动合并代理以传输复制对象并从发布服务器下载最新更改。 有关详细信息,请参阅 同步推送订阅

另请参阅

在没有快照的情况下初始化事务订阅
备份和还原复制的数据库
复制安全最佳做法