在 Standard 或 Advanced 许可等级下可用。
对于离线环境中的复本,可通过在复本之间手动交换消息的过程来实现同步。
可以交换两类消息:
- 数据变更消息
- 确认消息
数据变更消息包含数据变更,而确认消息确认收到数据变更消息。 作为数据发送方的复本发送数据变更消息,而作为数据接收方的复本发送确认消息。 有关详细信息,请参阅离线同步,其中包含离线同步消息交换工作流的详细图示。
导出数据变更消息
数据变更包括新数据变更和未确认的数据变更。 新变更是指上一次导出数据变更消息之后对复本版本执行的插入、更新和删除。 未确认的数据变更包括之前导出的、尚未收到确认的变更。 可以使用两个命令导出数据变更消息:
- 导出数据变更消息 - 默认情况下,可导出所有新数据变更和所有未确认的数据变更。 可以选择包含新数据变更、未确认数据变更、均包含或均不包含。 还可以选择在导出时将复本由发送方切换为接收方。 如果进行切换,则向增量文件添加标记,使相关复本在导入时由接收方切换为发送方。
- 重新导出未确认的消息 - 您可以仅将未确认的数据变更重新导出到增量文件。 默认情况下,将包括所有未确认的变更,但可以选择仅包括来自最近导出的变更。
导出确认消息
确认消息确认收到来自相关复本的数据变更。 除非相关复本收到确认,否则会重新发送数据变更。 定期发送和导入确认消息可避免需要重新发送更改。 导出确认消息工具可用于导出确认消息。
导入消息
导入消息工具可以导入数据变更消息或确认消息。 导入确认消息会更新复本的元数据,从而使它知道在下次导入时需要包括哪些更改。 导入数据变更消息将应用来自相关复本的数据变更并更新复本的元数据。
注:
同步过程的导入(数据变更消息)阶段在事务中进行。 同步的第二个阶段包括协调操作,这也在事务中进行。 需要的资源(例如撤消空间或逻辑日志文件)会随着要同步的更改数量而变化。 如果完成了导入阶段但协调阶段出现错误,则复本显示处于冲突状态,您可以稍后手动完成协调操作。协调选项
导入数据变更消息时,将对同步版本和复本版本进行协调。 在协调操作期间,可能会发生冲突。 导入消息之前,可以选择协调策略以定义如何处理冲突。
以下为协调策略:
- 手动 - 如果发生冲突,则中止协调操作,并将复本标记为冲突状态。 随后您即可以手动方式或通过运行自定义协调代码来执行协调操作。 协调数据并将更改提交给复本版本后,复本将不再处于冲突状态。 尽管复本处于冲突状态,它仍可以继续接收更改但不能发送更改。
- 优先使用数据库 - 如果存在冲突,则优先使用导入更改的数据库的制图表达,而后才会考虑增量文件中的更改。 由于冲突会自动得到解决,因此使用此策略进行同步后,复本从不会处于冲突状态。
- 优先使用导入的更改 - 如果存在冲突,则自动优先使用由导入更改所定义的制图表达,而后才会考虑复本的制图表达。 由于冲突会自动得到解决,因此使用此策略进行同步后,复本从不会处于冲突状态。
默认选项是优先使用父复本。 因此,如果在子复本上导入更改,则默认优先使用导入的更改。 如果在父复本上导入更改,则默认优先使用数据库。
注意,协调选项与针对同步在线复本而提供的选项相类似。
定义冲突
对于这种协调操作,还可以在列级别和行级别冲突检测中进行选择。