在 Standard 或 Advanced 许可等级下可用。
对于企业级地理数据库中的复本,地理数据库复制在同步过程中使用版本化。 使用存档追踪单向复制中的变更是个例外。
版本化用于确定要发送的变更,并在接受变更时使用。 下面分别介绍了在这些过程中如何使用版本化:
发送变更
当复本发送变更时,将分析复本版本(在复本创建期间定义)和系统版本。 此分析可以过滤出在早期同步中已经发送的编辑内容或确定需要重新发送的一些变更。 对于文件或个人地理数据库中的检出复本,将分析包含所有编辑内容的内部表。 对于使用存档的单向复制,将分析存档类以确定要发送的变更。
接收变更
复本接收变更时,会发生以下情况:
首先,变更将应用于同步版本。 同步版本是复本版本的子版本。 它用于临时保存这些变更直到对它们进行协调并提交到复本版本。 对于双向和单向复本,同步之前不会创建版本,而对于检出复本,会在创建时创建版本。 下图中,复本版本可能是 DEFAULT 或指定版本。
接下来,同步版本将与复本版本协调。 此步骤中的行为取决于复本类型:
- 双向复本 - 对于双向复本,协调过程中可能存在冲突。 如果存在冲突,可使用协调策略确定如何处理冲突。 同步过程中,可以在自动和手动协调策略之间进行选择。 如果没有冲突,或冲突已被自动协调策略解决,则复本版本将以同步版本提交。
- 检出复本 - 对于检出复本,协调和提交是可选的,默认情况下不会执行。 如果选择不执行协调和提交,变更将保留在同步版本中。 然后,您可以在以后协调并手动提交。 如果决定执行协调和提交,行为将与双向复本相同。
- 单向复本 - 对于单向复本,将始终覆盖复本版本中的变更,绝不会存在未解决的冲突。 使用简单模型类型时,可能不会版本化子复本数据。 如果是这种情况,变更将直接应用于基表,接收变更时不会使用版本化。 对于子复本托管于个人或文件地理数据库中的情况,也会直接覆盖变更。
将变更提交到复本版本后,同步版本将被删除。 如果选择手动协调策略,且存在冲突,您可稍后决定是否执行协调和提交。 对于双向复本,只要存在同步版本,就认为该复本存在冲突。 存在冲突时,复本可以接收变更但不会发送变更。