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