我正在使用 Web 同步在 SQL 2012 中实施合并复制。
我想知道两件事,
- 为什么默认建议每 14 天重新生成一次快照?
- 使用网络同步,您是匿名订阅者,那么复制如何知道何时为从不同步的用户清理元数据
所以第一个问题在那里。如果一个人每天都同步,并且他们撤回了大约相同数量的更改,特别是为什么我们必须重新生成快照?我不确定为什么这样的同步会变慢?
是否知道何时可以清理元数据?拥有最旧快照的用户刚刚重新生成了一个新快照,那么这意味着我们可以清理元数据直到下一个最旧快照?
这就引出了第二个问题。如果我有一个用户,我已经将合并复制解决方案作为演示。事实证明,他们从未使用过该系统,并且只在开始时同步过一次以对其进行测试。他们甚至可能已将其从计算机中删除。
如果他们的快照作业已关闭并且他们从不同步,这是否意味着我们陷入了复制无法清理的一大堆元数据?复制是否在某个时候断定那个人没有使用系统并将他们拒之门外?
我问这个的原因是我使用的是匿名订阅者。当我们有普通订阅者时,我们删除服务器直接连接的订阅,订阅从发布中删除。Web 同步不会发生这种情况。
我认为使用默认设置的假设是您将定期推出新订阅。您不需要这样做,但是当您推出新订阅时,您将需要手动运行快照代理(这真的没什么大不了的)。
创建订阅后,分发者将存储有关订阅者的信息,以便分发者可以使用此信息进行清理和数据分发。