跳到主要内容

增量数据对比

增量数据对比用于校验增量复制产生的新增、更新和删除记录,帮助您在迁移割接或持续同步期间及时发现源端与目标端的数据差异。与全量数据对比相比,增量数据对比只核对增量复制捕获的变更记录,更适合持续运行的数据复制任务。

使用限制

  • 增量数据对比不能单独启用,必须与全量数据对比或快速数据对比同时启用。
  • 待对比表应包含可用于定位记录的主键、唯一键或普通索引。缺少可用索引时,系统可能无法定位变更记录或生成可靠的变更 SQL。
  • 增量数据对比依赖增量复制持续运行。复制延迟较高或任务异常时,请先恢复复制并等待延迟降低,再判断对比结果。

前提条件

  • 已创建并启动数据复制任务,且任务包含增量复制
  • 增量复制已追平源端数据,任务处于运行中状态。
  • 如需使用生成的变更 SQL 修复数据,请确保您具有目标端数据变更权限,并已完成必要的审批和备份。

开启增量数据对比

  1. 登录 NineData 控制台

  2. 在左侧导航栏中,选择数据复制 > 数据复制

  3. 打开目标复制任务的详情页,然后单击数据对比页签。

  4. 如果尚未开启数据对比,单击开启数据对比

  5. 在对话框中选择全量数据对比快速对比,并同时选中增量对比

  6. 单击开启数据对比

首次追平完成后,NineData 开始记录后续增量变更并执行增量数据对比。

查看和重新执行对比

  1. 在复制任务详情页中,选择数据对比 > 增量

  2. 通过最新下拉列表切换对比批次,或使用全部状态全部结果搜索对象名筛选结果。

  3. 查看各表的对比结果。

    image-20260730153644242

    字段说明
    源/目标表参与增量数据对比的源表和目标表。
    源/目标库源端和目标端的数据库名称。
    已对比本批次已完成比对的增量记录数。
    对比结果显示当前的对比结果。
    总耗时(s)当前表完成本批次对比所用的时间。
    状态当前表的执行状态。
    操作针对当前表执行下列操作:
    • details:查看差异详情。
    • fix-sql:生成修复 SQL 语句,仅在不一致的情况下可选。
    • re-compare:执行当前表的重新对比。

查看差异详情

当结果不一致时,单击表右侧的details图标。详情页显示:

  • 差异记录在源表和目标表中是否存在。
  • 用于定位记录的主键、唯一键或索引字段。
  • 源端和目标端的字段值。
  • 当前页的差异记录总数。

您可以将差异明细下载为 JSON 或 Excel 文件。下载文件前请确认其中是否包含敏感数据,并按照组织的数据安全要求保存和传输。

生成和执行变更 SQL

  1. 表对比详情中,单击生成变更 SQL

  2. 查看页面生成的 SQL。页面最多显示 1000 条差异;如需获取全部语句,单击下载变更文件

  3. 在执行前逐条审核 SQL,确认执行目标、匹配条件和执行顺序。

  4. 按照组织的变更流程,在目标端执行确认后的 SQL。

  5. 重新执行该表的增量数据对比,确认结果恢复为一致

警告

变更 SQL 会直接修改目标端数据。对于同一主键的字段值差异,系统可能同时生成插入正确记录和删除错误记录的语句。请根据主键约束调整为可执行的安全顺序,例如先删除错误记录,再插入正确记录;不要未经审核直接批量执行。