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