使用说明

最近更新时间:2025-11-04 11:27:42

我的收藏

数据同步可行性

类别
说明
源端/目标端类型
源端类型:
自建数据库(IDC 自建、CVM 自建)SQL Server 2008R2、2012、2014、2016、2017、2019、2022。
第三方厂商(阿里、AWS、Google 等)SQL Server 2008R2、2012、2014、2016、2017、2019、2022。
云数据库 (同账号、跨账号)SQL Server 2008R2、2012、2014、2016、2017、2019、2022。
目标端类型:
云数据库 (同账号、跨账号)SQL Server 2008R2、2012、2014、2016、2017、2019、2022。
同步类型
支持结构、全量、增量的同步。
同步对象
支持库级别数据、表级别(用户表)数据、库表结构、主键、索引的同步。
支持视图、存储过程、自定义函数、自定义数据类型、计划指南、架构的同步。
不支持触发器的同步。
数据类型
支持的数据类型:
整数类型:tinyint,smallint,int,bigint。
浮点数类型:real,float,decimal,numeric。
位类型:bit。
字符类型:char,varchar,nchar,nvarchar。
日期时间类型:date,time,datetime,datetime2,smalldatetime,datetimeoffset。
二进制类型:binary,varbinary。
唯一标识符:uniqueidentifier。
不支持的数据类型:
货币类型:money,smallmoney(bulk insert 限制)。
大对象类型:text,ntext,image。
MAX 类型:nvarchar(max),varbinary(max)。
特殊类型:sql_variant,hierarchyid,geometry,geography,xml,timestamp。
源库影响
DTS 在执行数据同步时,会占用一定源端实例资源,可能会导致源实例负载上升,增加数据库自身压力。如果您的数据库配置过低,建议您在业务低峰期进行同步。
开启 CDC 的相关影响:
开启 CDC 过程中会短暂锁表:在系统中创建 CDC 相关表、SQL Agent 作业创建,会造成一定资源占用。
长时间开启 CDC 时需注意,CDC 组件存储的增量数据默认保留3天,可能占用大量存储空间,建议使用 exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>; 来设置保留时间。
长时间开启 CDC 也会对事务日志截断造成一定影响。
由于 CDC 的限制,如果表的数量大于1000,数据库的数量大于10,建议使用 数据迁移,或者备份恢复能力。
CDC 作业默认最大能处理的单字段长度为64KB,若开启 CDC 的表需要写入的单字段数据超过64KB,则必须提前使用 exec sp_configure 'max text repl size', -1; 命令调整源库的配置。
目标库影响
在执行数据同步时,建议不要对目标库进行数据写入,否则可能会影响同步任务的进行,出现数据不一致风险。
权限
源端和目标端均需要有 SA 权限,如果源端和目标端使用的是腾讯云的 SQL Server 实例,则可忽略此权限要求。
支持的 SQL
DML:INSERT、UPDATE、DELETE。
限制
不支持外键迁移。若表里存在外键,则不会迁移到目标实例,建议在迁移后重新创建。
不支持 DDL,请勿修改表结构、删除表,否则可能会导致同步任务报错。
不支持单独进行结构迁移,需结构与数据一起迁移。
同步过程中,请勿修改、删除源数据库和目标数据库中用户信息(包括用户名、密码和权限)和端口号,否则会导致同步任务失败。
如果源表较大,全量阶段进行长时间的事务,建议打开 READ_COMMITTED_SNAPSHOT。

支持能力

功能大类
功能子项或说明
支持能力
断点续传
-
全量导出部分支持(结构导出、无主键表导出阶段不支持续传)。
全量导入、增量支持。
同步方向
一对一
支持
多对一(多实例合一/多表合一)
不支持
一对多
不支持
双向同步
不支持
同实例内同步(仅支持一对一)
不支持

HA 切换

源端 SQL Server 发生切换会导致 DTS 同步任务失败。

业务影响

DTS 在执行全量数据同步时,会将源库的全量数据全部读取一次,所以会增加源库的负载。如果您的数据库规格过低,建议您在业务低峰期进行同步任务,或者在任务启动前降低 DTS 的速率。
源库的规格不同,影响也不同,以源库规格为8核16G为例,DTS 任务默认采用8线程并发(可调整),在网络无瓶颈的情况下,DTS 任务对源库的性能影响如下:
DTS 全量导出阶段:占用源库约18%-45%的 CPU,增加源库约40-60MB/s的查询压力,占用约8个活跃 session 连接数。
DTS 增量导出阶段:对源数据库基本无压力,只有一个连接实时监听源库的 CDC 表。

数据同步切割

DTS 在数据同步功能中提供了数据一致性校验功能,其采取了静态的数据一致性校验,可帮助用户检验数据的一致性,以便更稳妥的进行业务切换。详情请参见 数据同步切割说明