解决与服务器的同步冲突

本文提供了可帮助您解决与服务器的移动同步冲突的信息。

“同步错误”表

如果出现同步错误,系统会在 Dataverse 内的同步错误表中自动生成一个新条目。 该表由以下列构成。

列名称 Description 示例
错误时间 创建错误的时间。 5/17/2024 7:16 AM
错误消息 错误的说明。 Entity Account With Id = <RowId> Does Not Exist
错误类型 错误的类型,例如冲突或找不到记录错误。 找不到记录
记录 同步错误中更新的记录。 Contoso
所有者 更新记录的用户。 John Doe
操作 应用于要同步的记录的操作。 Update
操作数据 包含操作有效负载的 Json。 {“lastname”:“Contoso2”}
请求数据 包含查询的 Json。 {"lastname":"Contoso2","syncerror__regardingentityid":<syncerrorId>,"entitylogicalname":"account"}
错误代码 错误的代码。 -2147015424

备注

确保分配给用户的角色授予对同步错误表的读取权限。 了解更多信息:创建或编辑安全角色以管理访问权限

有关如何使用“同步错误”表的建议

同步错误表是标准的 Dataverse 表。 我们建议您创建一个模型驱动应用来管理同步错误。

如果您运行模型驱动应用,您可以看到每个用户的同步错误。 如果选择同步错误行,您可以从命令栏中重试更改

设备状态页中的同步错误

同步错误自然显示在设备状态页面中。 “ 设备状态 ”页在模型驱动应用中 开箱即用,但必须在画布应用中进行设置。 有关更多信息,请参阅使用离线模板和离线状态图标

使用云流对同步错误采取措施

添加、修改或删除行时,您可以使用 Dataverse 触发器在 Power Automate 中创建自动化云端流。 该流可以在设备上自动发送电子邮件发送通知

备注

要在流中检索用户的电子邮件地址,请使用同步错误行的所有者列添加 Dataverse 操作按 ID 获取行

同步冲突

当客户端和服务器之间的数据不匹配时,就会发生冲突错误。 默认情况下,用户在脱机模式下所做的更改将在用户重新联机时自动同步到服务器。

如何解决同步冲突

当用户对脱机应用中的数据进行更改时,一旦网络可用,就会将对每列的更新推送回 Dataverse。 对每列的最后一次更新存储在 Dataverse 中,因此该同步不会因冲突更改而失败。

服务器端插件和验证会使更改无效。 这些更改在本地进行还原,并且错误将写入同步错误 Dataverse 表中。

冲突解决设置

重要

冲突解决设置不适用于画布应用程序。

如果脱机时的更新被频繁拒绝,请考虑将冲突解决设置设置为默认值。

  1. 登录 Power Platform 管理中心
  2. 在导航窗格中,选择环境
  3. 选择环境。
  4. 在命令栏中选择设置
  5. 选择产品 > 功能
  6. 模型驱动应用的高级移动离线设置部分,关闭启用移动离线同步的冲突检测选项。

备注

在此选项打开(不推荐)时,服务器的更新可能会阻止应用客户端更新。 必须手动解决冲突错误。