全部产品
Search
文档中心

数据传输服务 DTS:使用限制

更新时间:Aug 18, 2023

本文介绍数据传输服务 (DTS) 的使用限制。

数据迁移

以下各表详细介绍了数据迁移功能的使用限制。

表 1. 源库为SQL Server

使用限制

超出限制产生的影响

不支持以下数据类型:sql_variant、hierarchyid、geometry、cursor和rowversion。

  • 对以下数据类型的值所做的更改不会写入日志:image、text、ntext和xml。 DTS只能确保这些数据类型的值在源数据库和目标数据库之间是一致的。

  • 如果源数据库中使用了不支持的数据类型,则不会迁移这部分数据。

不支持堆表(heap table)。

这些表不会被迁移。

不支持包含非聚簇索引的表。

这些表不会被迁移。

表 2. 源库为Oracle

使用限制

超出限制产生的影响

不支持以下数据类型:URI、UDT、BFile和UROWID。

数据迁移失败。

表 3. 源库为Db2

使用限制

超出限制产生的影响

不支持AIX一体机版本。

无法配置数据迁移任务。

仅支持以下数据类型:

  • SMALLINT、INTEGER、BITINT、DECIMAL、CHAR、VARCHAR、DECFLOAT和DOUBLE REAL。

  • GRAPHIC或VARGRAPHIC(存储格式为双字节字符串,无边界检查和正确性校验)、DECFLOAT(数据范围较大,某些数据库不支持此数据类型,只能截断数值。)

数据迁移失败。

主备切换逻辑仅支持SYNC、NEARSYNC和ASYNC三种同步模式。

说明

在ASYNC模式下,如果在主库和备库不同步的情况下进行强制切换,备库上可能会丢失数据。 在主备库同步后进行切换则为非强制切换。

如果使用SUPERASYNC进行同步,DTS将无法保证程序在主备切换时的连续性。

表 4. 源库为MongoDB

使用限制

超出限制产生的影响

暂不支持直接迁移集群架构的MongoDB数据库。 您需要迁移分片集群中的每个Shard节点。

暂不涉及。

不保留事务信息。

当事务迁移到目标数据库时,它们会被转换为单条记录。

表 5. 目标库为MySQL

使用限制

超出限制产生的影响

增量数据迁移阶段,仅支持同步以下DDL操作:

  • ALTER TABLE和ALTER VIEW

  • CREATE FUNCTION、CREATE INDEX、CREATE PROCEDURE、CREATE TABLE和CREATE VIEW

  • DROP INDEX和DROP TABLE

  • RENAME TABLE

  • TRUNCATE TABLE

如果您对源数据库执行不支持的DDL操作,将导致数据迁移失败。

表 6. 目标库为DRDS

使用限制

超出限制产生的影响

DRDS实例中的数据库须基于RDS MySQL(5.x版本)实例创建。 DTS暂不支持基于RDS MySQL(8.0版本)实例或PolarDB MySQL集群创建的数据库。

无法配置数据迁移任务。

无法同步DDL操作。

数据迁移失败。

表 7. 目标库为SQL Server

使用限制

超出限制产生的影响

增量数据迁移阶段,仅支持同步以下DDL操作:

  • CREATE TABLE(如果CREATE TABLE操作用于创建分区表或包含函数的表,则不能同步该操作)

  • ALTER TABLE

    说明

    ALTER TABLE操作仅包括ADD COLUMN、DROP COLUMN和RENAME COLUMN。

  • CREATE INDEX、DROP TABLE、RENAME TABLE和TRUNCATE TABLE

数据迁移失败。

表 8. 目标库为Oracle

使用限制

超出限制产生的影响

增量数据迁移阶段,仅支持同步以下DDL操作:

  • CREATE TABLE(如果CREATE TABLE操作用于创建分区表或包含函数的表,则不能同步该操作)

  • ALTER TABLE

    说明

    ALTER TABLE操作仅包括ADD COLUMN、DROP COLUMN、RENAME COLUMN和ADD INDEX。

  • CREATE INDEX、DROP TABLE、RENAME TABLE和TRUNCATE TABLE

数据迁移失败。

表 9. 目标库为PostgreSQL

使用限制

超出限制产生的影响

增量数据迁移阶段无法同步DDL操作。

数据迁移失败。

表 10. 目标库为Db2

使用限制

超出限制产生的影响

增量数据迁移阶段无法同步DDL操作。

数据迁移失败。

表 11. 目标库为Redis

使用限制

超出限制产生的影响

在执行全量数据迁移时,需要保证目标Redis库(如Redis社区版、阿里云Redis社区版)中没有数据。

源数据库和目标数据库中的集合类型或数据不一致。

表 12. 目标库为MongoDB

使用限制

超出限制产生的影响

不支持写入事务。

DTS只保证源库和目标库的最终一致性。

表 13. 目标库为分析型数据库MySQL版

使用限制

超出限制产生的影响

最多可迁移1024张表。

数据迁移失败。

分析型数据库MySQL版在处理一些无效值方面与MySQL不兼容。

数据迁移失败。

默认情况下,列的最大长度为16 MB。

数据迁移失败。

数据同步

以下各表详细介绍了数据同步功能的使用限制。

表 14. 目标库为MySQL

使用限制

超出限制产生的影响

仅支持同步以下DDL操作:

  • ALTER TABLE和ALTER VIEW

  • CREATE FUNCTION、CREATE INDEX、CREATE PROCEDURE、CREATE TABLE和CREATE VIEW

  • DROP INDEX和DROP TABLE

  • RENAME TABLE

  • TRUNCATE TABLE

如果您对源数据库执行不支持的DDL操作,将导致数据同步失败。

表 15. 目标库为Redis

使用限制

超出限制产生的影响

如果Redis数据库部署在集群架构中,数据同步过程中不能执行FLUSHDB、FLUSHALL或SWAPDB命令。

源数据库和目标数据库中的数据不一致。

在执行全量数据初始化时,需要保证目标Redis库(如Redis社区版、阿里云Redis社区版)中没有数据。

源数据库和目标数据库中的集合类型或数据不一致。

表 16. 目标库为分析型数据库MySQL版

使用限制

超出限制产生的影响

最多可同步1024张表。

数据同步失败。

仅支持同步以下DDL操作:CREATE TABLE、DROP TABLE、RENAME TABLE、TRUNCATE TABLE、ADD COLUMN和DROP COLUMN。

数据同步失败。

每个待同步的表必须包含一个主键。 主键的值不能为NULL。

数据同步失败或数据同步任务启动失败。

分析型数据库MySQL版在处理一些无效值方面与MySQL不兼容。

数据同步失败。

默认情况下,列的最大长度为16 MB。

数据同步失败。

表 17. 目标库为MaxCompute

使用限制

超出限制产生的影响

仅支持同步以下DDL操作:ALTER TABLE和ADD COLUMN。

数据同步失败。