对于合并复制,请定期备份以下数据库:
- 出版商的出版数据库
- 分发服务器上的分发数据库
- 每个订阅者的订阅数据库
- 发布服务器、分发服务器和所有订阅服务器上的 master 和 msdb 系统数据库。 应同时备份这些数据库以及相关的复制数据库。 例如,在发布服务器上备份 master 和 msdb 数据库时,也同时备份发布数据库。 如果还原发布数据库,请确保 master 数据库和 msdb 数据库在复制配置和设置方面与发布数据库保持一致。
如果执行常规日志备份,则应在日志备份中捕获与复制相关的任何更改。 如果不执行日志备份,则每当更改与复制相关的设置时,都应执行备份。 有关详细信息,请参阅 需要更新备份的常见操作。
选择下面详述用于备份和还原发布数据库的方法之一,然后遵循分发数据库和订阅数据库列出的建议。
备份和还原发布数据库
还原合并发布数据库的方法有两种。 从备份还原发布数据库后,您应该:
将发布数据库与订阅数据库同步。
重新重置对发布数据库中所有发布内容的订阅。
使用这些方法之一可确保在执行还原后,发布服务器和所有订阅服务器都会同步。
注释
如果任何表包含标识列,则必须确保在还原后分配正确的标识范围。 有关详细信息,请参阅 “复制标识列”。
同步出版物数据库
将发布数据库与订阅数据库同步后,可以从一个或多个订阅数据库上传以前在发布数据库中所做的更改,但不在还原的备份中表示。 可以上载的数据取决于筛选发布的方法:
如果发布未经筛选,则应能通过与最新订阅服务器同步来更新发布数据库。
如果发布经过筛选,则可能无法更新发布数据库。 假设有一个按如下方式分区的表:每个订阅仅收到一个区域(北部、东部、南部和西部)的客户数据。 如果每个数据分区至少有一个订阅服务器,那么使每个分区与订阅服务器同步会更新发布数据库。 但是,以西分区为例,如果其中的数据未复制到任何订阅服务器,那么发布服务器上的此数据就无法更新。
重要
将发布数据库与订阅数据库同步可能会导致已发布表还原到比从备份还原的其他非已发布表的时间点最近的时间点。
如果与运行 Microsoft sql Server 2005 之前的 Microsoft SQL Server 版本的订阅服务器同步,则订阅不能为匿名;它必须是客户端订阅或服务器订阅(在以前的版本中称为本地订阅和全局订阅)。
重新初始化所有订阅
重新初始化所有订阅可确保所有订阅服务器处于与还原的发布数据库一致的状态。 如果要将整个拓扑返回到给定的发布数据库备份所表示的以前状态,则应使用此方法。 例如,如果要将发布数据库还原到较早的时间点,则可能需要重新初始化所有订阅,作为从错误执行的批处理作中恢复的机制。
如果选择此选项,请在还原发布数据库后立即生成用于重新初始化订阅者的传递的新快照。
若要重新初始化订阅,请参阅 重新初始化订阅。
若要创建和应用快照,请参阅 “创建并应用初始快照 ”,并使用 参数化筛选器为合并发布创建快照。
备份和还原分发数据库
使用合并复制时,应定期备份分发数据库。只要所用的备份文件的时间不超过所有使用分发服务器的发布的最短保留期,则可以在不需要任何特殊条件的情况下进行恢复。 例如,如果有三个保留期分别为 10、20 和 30 天的发布,则用于还原数据库的备份不应超过 10 天。 分发数据库在合并复制中具有有限的角色:它不存储更改跟踪中使用的任何数据,也不会提供临时存储要转发到订阅数据库的合并复制更改(就像在事务复制中一样)。
备份和还原订阅数据库
为了确保成功恢复订阅数据库,订阅服务器应在备份订阅数据库之前与发布服务器同步;还原订阅数据库后,它们还应同步:
在订阅数据库备份前与发布者同步,有助于确保如果订阅方从备份中恢复,订阅仍然在发布保留期内。 例如,假设发布保留期为 10 天。 上次同步时间是 8 天前,现在将执行备份。 如果备份在 4 天后还原,则上次同步将在 12 天前发生,该同步时间已超过保留期。 在这种情况下,必须重新初始化订阅服务器。 如果订阅服务器在备份之前同步,则订阅数据库将位于保留期内。
备份不应早于订户所订阅的所有发布的最短保留期。 例如,如果订阅者分别订阅保留期为 10 天、20 天和 30 天的三份出版物,则用于还原数据库的备份不应超过 10 天。
在数据还原后,将订阅数据库与其每个发布的项目进行同步,可确保订阅方保持与发布方的所有更改一致。
若要设置发布保留期,请参阅 设置订阅的过期期限。
备份和还原重新发布数据库
当数据库订阅来自发布服务器的数据,并反过来将相同的数据发布到其他订阅数据库时,它称为重新发布数据库。 还原重新发布数据库时,请遵循本主题中“备份和还原发布数据库”和“备份和还原订阅数据库”中所述的准则。