限制和注意事项
使用 Microsoft SQL Server(基于 Microsoft CDC)源时,您应注意以下限制和注意事项:
所有数据任务的限制和注意事项
- 不支持将辅助 Microsoft Azure SQL 托管实例作为源数据库。
- 不支持从索引视图移动数据。
- 由于要求在所有源表上启用 MS-CDC,因此存在以下限制:
- 不支持截断表
- 不支持 WRITETEXT 和 UPDATETEXT 实用程序
有关 MS-CDC 限制的更多信息,请参阅 Microsoft 帮助。
-
在没有 db_owner 角色的情况下运行时,适用以下限制:
-
不支持捕获 DDL。为防止移动错误,在运行任务之前,您必须清除连接设置中的 捕获 DDL 事件 复选框。
-
无法自动启用 MS-CDC,因此应手动启用。为防止移动错误,在运行任务之前,您必须清除连接设置中的 在所有捕获的表上启用 MS-CDC 复选框。
信息注释在没有 db_owner 角色的情况下运行需要特殊权限。有关更多信息,请参阅 所需的权限。 -
- 仅在满负载 移动 任务中支持计算列的移动。在 CDC 过程中,对计算列的 INSERT 将在目标上显示为 NULL,UPDATE 将被忽略。
- 不支持分区切换。
-
不支持以下 DML 模式:
select <*> into <new_table> from <existing_table>
- 不支持列级加密。此类表将被写入目标,但不包含加密列。
- 将值插入 Microsoft Azure SQL 托管实例空间数据类型(GEOGRAPHY 和 GEOMETRY)时,可以忽略 SRID(空间参考系统标识符)属性(在这种情况下将使用默认 SRID,GEOMETRY 为 0,GEOGRAPHY 为 4326),也可以指定不同的数字。当移动具有空间数据类型的表时,数据移动网关 会将用户插入的 SRID 替换为默认 SRID。
- 不支持列存储索引。
- 不支持内存优化表(使用内存中 OLTP)。
- 不支持时态数据库
- 不支持延迟持久性
- 由于 ODBC 限制,主键中最多只能包含 16 列。
- 将在目标中创建掩蔽数据,而不进行掩蔽。
-
不支持 OpenLDAP
-
不支持自配置为使用 ADR(加速数据库恢复)的数据库的移动。
-
移动不支持名称中带有撇号 (') 的表或架构。
-
不会捕获使用 DACPAC 应用于数据库的更改。
-
不支持固定大小列(包括 NCHAR 和 CHAR 数据)总和超过 8060 字节的 MS-CDC 更改表。
-
不支持系统表和视图。
复制和登陆任务的限制和注意事项
- 由于要求在所有源表上启用 MS-CDC,因此在 CDC 期间不会捕获重命名的列。
有关 MS-CDC 限制的更多信息,请参阅 Microsoft 帮助。
- 不会捕获 RENAME TABLE。遇到 RENAME TABLE DDL 时,任务将继续捕获更改,而不会重命名目标表。如果任务停止并恢复,或者出现可恢复的错误,则该表将被挂起,以允许手动对齐 CT 表。
- 不支持表级 DDL。遇到表 DDL 时,DDL 将传输到目标,并且该表将被挂起,以允许手动对齐 CT 表。
-
在没有 db_owner 角色的情况下运行时,不支持捕获 DDL。
信息注释在没有 db_owner 角色的情况下运行需要特殊权限。有关更多信息,请参阅 不使用 db_owner 角色运行。 -
在没有 db_owner 角色的情况下运行时,无法自动启用 MS-CDC,因此应手动启用。为防止移动错误,在运行任务之前,您还必须清除连接属性中的 在所有捕获的表上启用 MS-CDC 复选框。
-
不支持在单个事务中捕获 DDL 和 DML 语句。
捕获 DDL 操作时的限制如下:
不支持的安全功能
不支持使用以下安全功能的表:
- 始终加密
- 行级安全性
不支持的数据类型
不支持以下数据类型:
- CURSOR
- SQL_VARIANT
- TABLE
根据基本类型支持用户定义的数据类型。例如,基于 DATETIME 的用户定义数据类型被处理为 DATETIM 数据类型。