我需要为大型数据库设置事务复制。我使用备份/恢复来初始化数据库,因为它太大而无法在慢速网络上使用快照。所以使用以下步骤
但是,如果在步骤1之后和步骤4之间有一些数据更改(插入/更新/删除)怎么办?这些交易会丢失吗?或者复制设置将失败?如何解决问题?
答案 0 :(得分:1)
要从备份初始化Transactional订阅,您实际上最终会首先创建发布,使其能够从备份初始化订阅,然后进行备份,然后使用备份初始化订阅。
在进行备份之后和初始化订阅之前发生的更改将存储在分发数据库中,该数据库充当存储转发队列。然后,这些更改将在从备份初始化后复制到订阅者。
请注意,默认情况下,分发清理作业会从分发数据库中清除超过72小时的事务,该数据库基于发布保留期。您可能希望在备份之前暂时禁用此作业,并在初始化备份中的订阅后重新启用它。
查看Initialize a Transactional Subscription Without a Snapshot和Initialize a Transactional Subscription from a Backup。