操作场景
数据一致性校验,即 DTS 对数据同步的源库和目标库的表数据进行对比,并给出对比结果和不一致详情,辅助用户快速对同步结果进行验证。数据一致性校验任务是独立进行的,不会影响源数据库的正常业务,也不会影响 DTS 的任务。
说明:
一致性校验仅作为辅助的数据验证手段。因此还需要用户自行进行数据验证,以确保同步结果满足要求。
校验内容
一致性校验支持全量校验和持续增量校验。
全量校验
针对目标端追平源端数据前的全部数据进行比较。
持续增量校验
针对持续增量校验任务发起后产生的增量数据进行比较。
说明:
1. 配置同步任务必须包含增量数据同步。
2. 每条同步任务同时只可发起一次增量校验。
注意事项及约束
1. 数据一致性校验的范围,仅对比源数据库选择的库表对象、和同步到目标数据库的库表对象。如果用户在同步任务过程中向目标库进行数据写入,则这部分数据不包含在校验范围内。
2. 数据一致性校验任务可能会增加源数据库实例的负载,因此请在业务低峰期进行操作。
3. 数据一致性校验的任务可以多次创建并执行,但同一时刻只能有一个校验任务处于运行中,即上一个校验任务结束或者终止后,下一个校验任务才能启动。
4. 如果在数据一致性校验任务还未结束时,用户选择完成或者终止 DTS 任务,则数据一致性校验任务会失败。
5. 创建一致性校验时,系统会自动在目标端中创建
dts_verify_result 库,用于记录一致性校验相关内容。dts_verify_result 库下创建的表样式如下:diff_5xxxxxxxx4231 :保存校验出的不一致数据diff_meta_5xxxxxxxxx4231:保存校验出不一致的元数据result_5xxxxxxxxx4231 :记录每个阶段校验完成后的结果status_5xxxxxxxxx4231:记录校验进度创建数据一致性校验
自动触发
您可以在新建 DTS 同步任务时,开启数据一致性校验任务,当后续任务进行到同步增量步骤时自动触发一次一致性校验任务。
在设置一致性校验页面,勾选开启数据一致性校验,配置参数后,单击下一步。
说明:

配置项 | 参数 | 描述 |
校验选项 | 校验内容 | 数据库信息:针对源和目标库中的索引、库表信息和片键进行校验。源库和目标库都为分片集群时,支持选择片键进行校验。 全量校验:针对目标端追平源端数据前的全部数据进行比较。 持续增量校验:针对持续增量校验任务发起后产生的增量数据进行比较。 |
| 数据库信息 | 支持校验索引、片键和库表信息。源库和目标库都为分片集群时,支持选择片键进行校验。 |
| 数据校验 | 内容校验:对所选检验对象进行内容校验。 行数校验:对所选校验对象进行行数对比。 |
| 校验基准 | 源端:使用源端的数据作为校验基准。 |
校验参数配置 | 线程数选择 | 设置范围为1~8,请根据实际情况选择,提高线程数可加快一致性校验速度,但也会增加源和目标库的负载。 |
校验对象选项 | 校验对象 | 全部同步对象:校验范围为同步任务勾选的全部对象。 |
手动创建
1. 登录 DTS 控制台。
2. 在数据同步页面,选择需要校验的同步任务,在操作列选择更多 > 创建数据一致性校验。

3. 在数据一致性校验页面,单击创建数据一致性校验。
说明:
如果已存在一致性校验任务,可以单击操作列的创建类似任务,并支持配置相关参数。


4. 在弹出的对话框中,配置数据一致性校验参数后,单击创建并启动一致性校验。

参数 | 说明 |
任务名称 | 创建一致性校验任务的名称。 |
校验方式 | 内置校验:校验服务内置于 DTS 任务中,需要在任务运行中时发起一致性校验,DTS 任务停止运行后,不支持发起校验。 |
校验内容 | 数据库信息:针对源和目标库中的索引、库表信息和片键进行校验。源库和目标库都为分片集群时,支持选择片键进行校验。 全量校验:针对目标端追平源端数据前的全部数据进行比较。 持续增量校验:针对持续增量校验任务发起后产生的增量数据进行比较。 |
校验基准 | 源端:使用源端的数据作为校验基准。 |
校验对象 | 全部同步对象:校验范围为同步任务勾选的全部对象。 |
数据库信息 | 支持校验索引、片键和库表信息。源库和目标库都为分片集群时,支持选择片键进行校验。 |
数据校验 | 内容校验:对所选检验对象进行内容校验,选择后可配置抽样的比例。 行数校验:对所选校验对象进行行数对比。 |
抽样对比 | 配置抽样比例,抽样比例支持10%,20%,30%……90%。 说明: 针对一些数据量较大的场景,全部数据校验可能会增加源库的负载,请用户根据业务情况选择抽样配比。 |
线程数选择 | 设置范围为1~8,请根据实际情况选择,提高线程数可加快一致性校验速度,但也会增加源和目标库的负载。 |
查看数据一致性校验结果
1. 在数据同步页面,选择需要查看的同步任务,在操作列选择更多 > 创建数据一致性校验。
2. 在操作列单击查看,即可查看校验结果。

3. 查看校验结果。
全量校验:查看预估集合总数、已检测集合数量、不一致集合数量。

增量校验:查看已校验记录数、不一致记录数。

数据校验结果汇总
数据校验结果的汇总信息如下表所示:
全量校验
项目 | 详情 |
概要 | 对比类型:当前全部为内置校验。 对比方式:可选方式为完整校验、抽样校验和行数校验。 状态:当前校验任务的状态,为创建完成、等待运行、运行中或者已完成。 对比结论:当前校验任务的运行结果,为不一致或者一致。 线程数:当前任务配置的线程数。 开始时间:当前任务的开始时间。 结束时间:当前任务的结束时间。 |
数据库信息校验 | 校验结果:当前数据库信息的校验结果,为不一致或者一致。 |
数据校验 | 校验结果:当前数据校验结果,为不一致或者一致。 |
预估集合总数 | 系统预计的需要校验的所有的集合的总数。 |
已检测集合数量 | 任务当前已经完成检测的集合的数量。 |
不一致集合数量 | 已经完成检测的集合中,源和目标端不一致的集合的数量。您可以在操作列下方,根据业务需要单击查看,查看不一致详情。 |
持续增量校验
项目 | 详情 |
概要 | 起始位点:增量校验的开始时间。 当前位点:增量校验的当前时间。 |
已校验记录数 | 任务当前已经完成检测的集合的数量。 |
不一致记录数 | 已经完成检测的集合中,源和目标端不一致的集合的数量。您可以在操作列下方,根据业务需要单击查看,查看不一致详情。 |