操作场景
数据一致性校验,即 DTS 对数据同步的源库和目标库的表数据进行对比,并给出对比结果和不一致详情,辅助用户快速对同步结果进行验证。数据一致性校验任务是独立进行的,不会影响源数据库的正常业务,也不会影响 DTS 的任务。
说明:
一致性校验仅作为辅助的数据验证手段。因此还需要用户自行进行数据验证,以确保同步结果满足要求。
注意事项及约束
1. 数据一致性校验任务可能会增加源数据库实例的负载,因此请在业务低峰期进行操作。
2. 对比校验约束:
完整校验:对于无主键/无唯一键的表,行数小于1万行时支持校验,大于1万行的表会跳过校验。
行数校验:不要求有主键或者唯一键。
抽样校验:对于无主键的表会跳过校验。
3. 当前校验任务对 DDL 操作不感知,如果在同步过程中,用户对源库做了 DDL 操作,可能会出现校验结果不一致,需要用户重新发起校验任务才能得到准确的对比结果。
4. 一致性校验任务中,DTS 单次查询源或者目标端数据的超时限制为10min,单次查询指每个分块校验会查询一次,行校验会查询一次等。如果单次查询时间超出10min(例如源端查询的表为大表时),则会导致校验任务失败。
5. 仅支持单向同步、双向同步的数据校验;不支持多到一、一到多、环形、星形同步等复杂拓扑结构的数据校验。
6. 同步任务进行如下配置,可能导致数据校验的结果不一致,请在创建校验任务时知晓。
数据初始化类型未勾选“全量数据初始化”,则可能存在源和目标的数据不一致,并最终导致数据校验的结果不一致。
主键冲突勾选了“冲突忽略”,勾选后发生冲突可能会导致源和目标的数据不一致,并最终导致数据校验的结果不一致。
7. 独立校验约束限制。
如果在数据同步的任务中已经对表进行了表重命名操作,在后续创建独立校验时,存在如下交互限制。
7.1 同步链路中配置了表的重命名:在进行独立校验时,若校验对象选择“自定义对象”,选择校验对象时需要依次勾选表对象,不能勾选整库,否则之前进行过重命名的表,会被跳过校验。
8. 如果同步任务在增量校验过程中,进行了修改同步配置的变更,则会导致增量校验失败,需要重新发起校验任务。
9. 增量校验需要在配置同步任务时,配置包含增量数据同步。
10. 每条同步任务同时只可发起一次增量校验。
创建数据一致性校验任务
自动创建
您可以在新建 DTS 同步任务时,开启数据一致性校验任务,当后续任务进行到同步增量步骤时自动触发一次一致性校验任务。
在设置一致性校验页面,勾选开启数据一致性校验,配置参数后,单击下一步。
配置项 | 参数 | 描述 |
校验选项 | 校验内容 | 全量校验:对于同步任务中的全量数据进行对比。 结构校验:对于同步任务中的数据对象结构进行对比。 持续增量校验:针对持续增量校验任务发起后产生的增量数据进行对比。 |
| 校验基准 | 源端:使用源端的数据作为校验基准。 |
校验参数配置 | 线程数选择 | 设置范围为1~8,请根据实际情况选择,提高线程数可加快一致性校验速度,但也会增加源和目标库的负载。 |
校验对象选项 | 校验对象 | 全部同步对象:校验范围为同步任务勾选的全部对象。 自定义选择:在勾选的同步对象中,选择进行校验的对象。 |
手动创建
您可以针对存量 DTS 同步任务,创建数据一致性校验任务。
1. 登录 DTS 控制台。
2. 在数据同步页面,选择需要校验的同步任务,在操作列单击更多 > 创建数据一致性校验。
说明:
数据一致性校验需要在同步任务步骤进行到同步增量时,才可以创建。如果界面按钮呈灰色,则 DTS 任务状态不满足条件,如任务未进行到同步增量步骤、任务失败、任务终止。

3. 在一致性校验页面,单击创建数据一致性校验。

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

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

参数 | 说明 |
任务名称 | 创建一致性校验任务的名称。 |
校验方式 | 独立校验:校验服务独立于 DTS 任务外,选择源端和目标端相同的数据块进行对比。DTS 任务结束后,不支持发起校验。 |
校验内容 | 全量校验:针对校验任务发起时源和目标库中的全部数据进行比较。 结构校验:针对源和目标库中所有的表结构进行校验,只校验最基本的表结构,不校验表上的索引、约束、注释等。 持续增量校验:针对持续增量校验任务发起后产生的增量数据进行比较,不校验无主键表。 |
校验基准 | 源端:使用源端的数据作为校验基准。 |
校验类型 | 完整校验:对所选校验对象,进行完整数据的一致性校验。 行数校验:对所选校验对象,仅对比数据行数。 抽样校验:对所选校验对象,按一定抽样比例进行一致性校验。 |
抽样对比 | 配置抽样比例,抽样比例支持10%,20%,30%……90%。 说明: 当校验类型为抽样校验时,才需配置该参数。 |
校验对象 | 全部同步对象:校验范围为同步任务勾选的全部对象。 自定义选择:在勾选的同步对象中,选择进行校验的对象。 |
线程数选择 | 设置范围为1~8,请根据实际情况选择,提高线程数可加快一致性校验速度,但也会增加源和目标库的负载。 |
查看数据一致性校验结果
1. 在一致性校验页面,单击查看,即可查看校验结果。

2. 查看校验结果。
全量校验:查看预估表总数、已检测表数量、不一致表数量、已跳过表数量、源库行数、目标库行数。

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

3. 查看不一致详情。
全量校验
您可以查看数据校验详情、表结构校验详情以及已跳过详情。
3.1.1 在数据校验详情区域单击对应表后的查看,可查看不一致的数据详情。

3.1.2 在弹出的对话框中查看不一致详情。

3.1.3 在对话框右侧单击
,下载不一致详情。


在弹出的对话框中,下载不一致信息,单击下载。

持续增量校验
3.1.4 在已检测区域单击对应表后的查看,可查看不一致的数据详情。

3.1.4.1 在弹出的对话框中查看不一致详情。

3.1.4.2 在对话框右侧单击
,下载不一致详情。


在弹出的对话框中,下载不一致信息,单击下载。
3.1.5 在已检测区域单击对应表后的复检,可针对不一致数据,再次发起一致性校验。

在弹出的对话框中,单击确认。
4. 下载对比结果详情。
4.1 在校验进展页面,选择全量校验或持续增量校验,单击右侧
,下载对比结果详情。


4.2 在弹出的对话框中,单击下载。