使用说明

最近更新时间:2026-05-29 15:11:31

我的收藏

数据同步可行性

类别
说明
源端/目标端类型
源端类型:
自建数据库(IDC 自建、CVM 自建)SQL Server 2008R2、2012、2014、2016、2017、2019、2022。
说明:
若您需要将自建数据库迁移上云,推荐使用 DTS 迁移功能,会更加稳定,操作请参见 迁移操作指导
第三方云厂商 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。
同步类型
支持结构、全量、增量的同步。
同步对象
支持库级别数据、表级别(用户表)数据、库表结构、主键、索引的同步。
支持视图、存储过程、自定义函数、自定义数据类型、计划指南、架构的同步。
不支持触发器的同步。
数据类型
支持的数据类型:
请参见本文中的 支持数据类型列表
不支持的数据类型:
特殊类型:sql_variant,hierarchyid,geometry,geography,xml。
源库影响
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; 命令调整源库的配置。
目标库影响
在执行数据同步时,建议不要对目标库进行数据写入,否则可能会影响同步任务的进行,出现数据不一致风险。
权限
源端:具体云环境及权限要求请参见 多云环境支持说明
目标端:dbcreator。
如果源端和目标端使用的是腾讯云的 SQL Server 实例,则可忽略此权限要求。
支持的 SQL
DML:INSERT、UPDATE、DELETE。
限制
短时间内有大数据量 DML 操作的场景,因会有延迟,所以不适合本数据同步功能。
不支持外键迁移。若表里存在外键,则不会迁移到目标实例,建议在迁移后重新创建。
不支持 DDL,请勿修改表结构、删除表,否则可能会导致同步任务报错。
不支持单独进行结构迁移,需结构与数据一起迁移。
同步过程中,请勿修改、删除源数据库和目标数据库中用户信息(包括用户名、密码和权限)和端口号,否则会导致同步任务失败。
如果源表较大,全量阶段进行长时间的事务,建议打开 READ_COMMITTED_SNAPSHOT。

支持数据类型列表

整数类型

数据类型
说明
全量同步
增量同步
tinyint
1字节整数 (0 - 255)
smallint
2字节整数 (-32,768到32,767)
int
4字节整数 (-231到231-1)
bigint
8字节整数 (-263到263-1)

精确数值类型

数据类型
说明
全量同步
增量同步
decimal(p,s)
精确小数
numeric(p,s)
精确小数 (同 decimal)
money
货币类型 (8字节)
smallmoney
货币类型 (4字节)
bit
布尔类型 (0/1/NULL)

近似数值类型

数据类型
说明
全量同步
增量同步
float(n)
浮点数
real
单精度浮点数

字符串类型

数据类型
说明
全量同步
增量同步
char(n)
定长非 Unicode 字符串
varchar(n)
变长非 Unicode 字符串
varchar(max)
大文本 (最多2GB)
text
大文本
nchar(n)
定长 Unicode 字符串
nvarchar(n)
变长 Unicode 字符串
nvarchar(max)
大 Unicode 文本 (最多2GB)
ntext
大 Unicode 文本

二进制类型

数据类型
说明
全量同步
增量同步
binary(n)
定长二进制
varbinary(n)
变长二进制
varbinary(max)
大二进制 (最多2GB)
image
大二进制

日期时间类型

数据类型
说明
全量同步
增量同步
date
日期 (0001-01-01到9999-12-31)
time
时间
datetime
日期时间 (1753-01-01到9999-12-31)
datetime2
高精度日期时间
smalldatetime
小型日期时间 (1900-01-01到2079-06-06)
datetimeoffset
带时区的日期时间
timestamp/ rowversion
行版本控制
⚠️ 跳过
⚠️ 跳过
说明:
关于 timestamp:SQL Server 的 timestamp (即 rowversion) 是自动生成的行版本列,不允许显式 INSERT/UPDATE。DTS 在全量导出和增量同步时自动跳过该列,由目标端自行生成新值。表结构中的 timestamp 列会被正常迁移(即目标端会创建该列)。

特殊类型

数据类型
说明
全量同步
增量同步
uniqueidentifier
GUID/UUID
xml
XML 数据

用户自定义类型

数据类型
说明
全量同步
增量同步
用户自定义数据类型
基于系统类型的别名类型

多云环境 CDC 支持说明

适用场景
从第三方云厂商迁移。
功能说明
自动识别云环境。
使用对应云厂商的 CDC 开启存储过程。
降低权限要求,部分云环境无需 sysadmin 权限。
支持的云环境
云环境
CDC 开启方式
最低权限要求
自建 SQL Server
EXEC sys.sp_cdc_enable_db
如果未开启 CDC,则最低权限要求为 sysadmin
如果开启了 CDC,则最低权限要求为 db_owner
第三方云厂商
EXEC msdb.dbo.rds_cdc_db
db_owner
EXEC sp_rds_cdc_enable_db
db_owner

支持能力

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

HA 切换

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

业务影响

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

数据同步切割

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