操作场景
数据一致性校验,即 DTS 对数据同步的源库和目标库的表数据进行对比,并给出对比结果和不一致详情,辅助用户在割切前快速验证同步结果。数据一致性校验任务是独立进行的,不会影响源数据库的正常业务,也不会影响 DTS 的任务。
说明:
一致性校验仅作为辅助的数据验证手段。在正式割接前,请用户自行进行演练操作以确保结果满足割接要求。
当前仅支持全量场景的数据一致性校验,暂不支持增量场景的数据一致性校验,因此,在创建数据一致性校验前,请停止进行数据写入。
当前支持数据一致性校验的链路为:SQL Server > SQL Server。
注意事项及约束
数据一致性校验任务可能会增加源数据库实例的负载,因此请在业务低峰期进行操作。
校验类型为抽样校验时,需要校验的表必须具有主键或唯一键,否则将跳过不进行校验,校验类型为行数校验时,不要求有主键或者唯一键,如果表格没有主键或唯一键且数据超过1万条则不能进行完整校验。
如果在数据一致性校验任务还未结束时,用户选择完成或者终止 DTS 任务,则数据一致性校验任务会失败。
创建数据一致性校验任务
说明:
单独创建数据一致性校验任务时,校验方式只支持独立校验,不支持内置校验。
独立校验独立于 DTS 任务外,选择源端和目标端相同的数据块进行对比。DTS 任务停止运行后,不支持发起校验。
只有在任务运行中才能发起独立校验任务。任务已完成无法发起校验任务。您可以基于交割的不同阶段,分批次和不同的校验方法多次发起校验任务。
1. 登录 DTS 控制台,在左侧导航选择数据同步页,在任务列表找到目标任务,在其操作列单击更多 > 创建数据一致性校验。

说明:
您也可以在任务列表的操作列单击查看,或者直接单击任务 ID 进入任务详情页面,然后选择一致性校验页面,单击创建数据一致性校验。

2. 在弹窗中,完成如下配置,单击创建并启动一致性校验。

参数 | 说明 |
任务名称 | 填写本次校验任务的名称。 |
校验方式 | 独立校验:校验服务独立于源端和目标端之外,从源端和目标端选择相同的数据块进行计算,并对比数据是否一致。 |
校验内容 | 默认选项为全量校验,表示针对校验任务发起时源和目标库中的全部数据进行比较。 |
校验基准 | 默认选项为源端,表示使用源端的数据作为校验基准。 |
校验类型 | 完整校验:对所选校验对象进行完整的一致性校验。 行数校验:对所选校验对象,仅对比数据行数。选择行数对比时,不要求表对象有主键,无主键表也可以进行校验。 抽样校验:对所选校验对象抽选一定的比例进行校验,抽样比例支持10%,20%,30%……90%。 |
校验对象 | 全部同步对象:校验范围为同步任务勾选的全部对象。 自定义选择:在勾选的同步对象中,选择进行校验的对象。 |
线程数选择 | 设置范围为1 - 8,请根据实际情况选择。 提高线程数可加快一致性校验速度,但也会增加源和目标库的负载,请谨慎调整。每提升一个线程数,约增加消耗一个 CPU 的占用。 数据一致性校验可能会增加源数据库实例的负载,请在业务低峰期进行操作。 |
复检次数 | 设置复检次数。如果在第一次全量数据校验的结果为不一致,则后台会对全量校验不一致的数据,发起校验。设置范围为1 - 2。 |
复检时间间隔 | 设置复检时间间隔。设置范围为1 - 10,单位:分钟。 |
查看数据一致性校验结果
1. 登录 DTS 控制台,在左侧导航选择数据同步页,在任务列表的操作列单击查看,或者直接单击任务 ID 进入任务详情。
2. 单击一致性校验,进入数据一致性校验的任务列表,在列表下即可查看创建的数据一致性校验任务的校验结果(一致或者不一致)。

3. 单击查看可进入校验详情页。
数据校验结果汇总
数据校验结果的汇总信息如下表所示:
项目 | 详情 |
概要 | 对比类型:当前全部为独立校验。 对比方式:可选方式为完整校验、抽样校验和行数校验。 状态:当前校验任务的状态,为创建完成、等待运行、运行中或者已完成。 对比结论:当前校验任务的运行结果,为不一致或者一致。 线程数:当前任务配置的线程数。 开始时间:当前任务的开始时间。 结束时间:当前任务的结束时间。 |
预估表总数目 | 系统预计的需要校验的所有表的总数。 |
已检测表数量 | 任务当前已经完成检测的表的数量。 |
不一致表数量 | 已经完成检测的表中,源和目标端不一致的表的数量。具体的不一致表,可以到不一致详情查看。 |
已跳过表数 | 本次校验中,跳过校验的表数量。 |