配置数据校验
本文介绍如何在数据库传输服务控制台配置数据校验任务,帮助您在不停服的情况下对源端和目标端的差异数据进行校验和检查,可以及时发现数据或结构不一致等问题。
背景信息
数据校验任务支持通过全量内容校验、全量行数校验和结构校验三种校验方式检验源端和目标端的差异数据,该三种校验方式的具体区别如下表所示:
前提条件
- 已创建全量迁移任务,且任务状态为执行中。详细操作,请参见迁移方案概览。
- 已创建全量同步任务,且任务状态为执行中。详细操作,请参见同步方案概览。
注意事项
- 数据校验对象只能在迁移/同步对象中选择,即只有 DTS 迁移/同步对象才支持数据校验。
- 如果删除了同步对象,数据校验默认不会自动删除,此时如果修改校验对象时,则不再支持该对象的校验。
- 修改迁移或同步任务的目标实例后,已有数据校验任务可能无法继续复用,若数据校验任务报错,请重新创建数据校验任务。
- 当任务完成全量迁移或全量初始化时校验任务才开始校验数据。
- 在全量内容校验过程中如果数据变更有频繁的变动,那么可能会导致数据校验任务结果不一致。可发起二次数据校验任务。
- 在执行校验任务前需评估源端和目标端的数据库性能,建议您在业务低峰期执行数据校验(例如源库和目标库的 CPU 负载在 30% 以下)。因为 DTS 在进行数据校验时将占用源库和目标库一定的读资源,可能会导致数据库负载上升。在数据库性能较差、规格较低或业务量较大的情况下,可能会加重数据库的压力,甚至导致数据库服务不可用。
- MySQL 到 MySQL 的单表最多支持校验出 10 万行不同数据,超过 10 万行 DTS 将不会进行数据校验。控制台页面不展示 Diff 数据,如需查看可将数据下载至本地。详细操作,请参见下载数据校验结果。该功能为加白功能,如需使用请提交工单。
- MySQL 到 MySQL 的单表数据校验功能,默认最多展示前 2000 行差异数据;单表校验总量上限为 10 万行,超过该阈值将自动跳过校验(不生成 Diff 结果)。控制台页面仅显示部分差异数据,如需查看完整校验结果,请下载本地文件。详细操作,请参见下载数据校验结果。该功能为加白功能,如需使用请提交工单。
- 在 MongoDB 的数据校验中,数据校验以源库为基准,仅验证源库中选中的同步或迁移数据在目标库中是否存在且一致,无法检测目标库中多出的额外数据。
操作步骤
- 在迁移任务列表或数据同步列表页面,根据以下方式选择配置数据校验的路径:
路径一:在任务列表页面配置数据校验任务
路径二:在目标任务的数据校验页签配置数据校验任务
- 在目标迁移或同步任务右上角,选择更多操作 > 创建数据校验任务。
- 在创建校验任务页面,根据预检查结果执行以下操作:
- 单击预检查结果操作列的详情,查看详细的告警和失败信息,并根据告警或失败信息修改库表后,单击重试。
- 单击操作列的忽略,忽略本次告警继续启动校验任务。同时,也可以单击忽略全部,一键忽略全部告警信息。
说明
- 选择忽略告警并启动校验任务,可能会导致校验失败。
后续操作
修改数据校验任务
成功创建数据校验任务后,您可以配置数据校验任务。
说明
以下状态的数据校验任务支持配置。
- 增量校验任务:校验任务的执行状态为待启动和执行中。
- 在数据校验列表页面,单击目标数据校验任务操作列的配置。
- (可选)当创建的任务已有预检查时,您可以根据以下提示确认是否重新发起预检查,当需要重新发起预检查时,请在是否重新发起预检查对话框,单击确定。
- 若源端和目标端的数据库实例未做修改,则无需再次发起预检查。
- 如果修改了源端、目标端的数据库实例信息或校验任务的参数配置,那么建议您重新发起预检查,否则可能会导致任务启动失败或者任务中断。
- 单击预检查结果操作列的详情,查看详细的告警和失败信息,并根据告警或失败信息修改库表后,单击重试。
- 单击操作列的忽略,忽略本次告警继续启动校验任务。同时,也可以单击忽略全部,一键忽略全部告警信息。
说明
- 选择忽略告警并启动校验任务,可能会导致校验失败。
最近更新时间:2026.09.02 11:04:15