初始化合并订阅(不使用快照)
注意 |
---|
后续版本的 Microsoft SQL Server 将删除该功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 |
默认情况下,对合并发布的订阅使用快照进行初始化,快照由快照代理生成并由合并代理应用。在某些情况下,可以用其他方法(如备份)初始化订阅。合并复制支持对已筛选和未筛选的发布不使用快照进行初始化订阅。该选项更常用于未筛选的发布和使用静态筛选器的发布。使用参数化筛选器的发布通常用订阅服务器分区的快照来初始化。有关详细信息,请参阅带有参数化筛选器的合并发布的快照。
如果可能,请使用快照对订阅进行初始化。特别是对于以下情况,建议使用快照初始化订阅:
当使用列级跟踪、垂直筛选或在发布服务器上进行架构更改时。这时,如果不使用快照初始化订阅,则会导致无法收敛。
使用 Web 同步,快照文件复制到订阅服务器但并未使用时。
当必须重新初始化订阅时。
当需要使用预计算分区提高性能时。
若要从备份中或用其他方法初始化合并订阅,请执行下列步骤:
将具有 rowguid 和 not null column 属性的 uniqueidentifier 列添加到将在合并复制中使用的表中。
对将用于初始化订阅服务器的数据库进行备份。
创建发布并生成该发布的快照。虽然将不使用快照中的已发布表中的架构和数据,但由于快照包含复制所需的系统对象和元数据,因此快照仍然是必需的。在同步的最初阶段,这些对象和元数据将复制到订阅服务器。
还原订阅服务器上的备份或者用其他方法复制数据。如果要还原备份,请不要指定 KEEP_REPLICATION 选项。此选项用于在还原过程中维护复制设置。备份来自发布服务器,所以要删除数据库中的发布服务器设置。还原的数据库将在同步的初始阶段过后具备必要的订阅服务器设置。
创建订阅,同时指定将手动初始化订阅。
注意 如果初始化订阅时不使用快照,则在发布服务器上运行 SQL Server 服务的帐户必须具有对分发服务器上的快照文件夹的写入权限。有关权限的详细信息,请参阅复制代理安全性模式。
有关详细信息,请参阅:
SQL Server Management Studio: 如何手动初始化订阅 (SQL Server Management Studio)
Transact-SQL:如何手动初始化订阅(复制 Transact-SQL 编程)
使用合并代理执行同步的初始阶段,对复制所需的对象和元数据进行复制。之后,订阅服务器即已经同步,可以接受发布服务器上的增量更改。