# 限制和注意事项

使用 Microsoft SQL Server（基于 Microsoft CDC）源时，您应注意以下限制和注意事项：

## 所有数据任务的限制和注意事项

* 第二 Microsoft Azure SQL 托管实例不支持作为源数据库。

* 不支持索引视图中的移动数据。

* 在复制列子集时，数据移动网关 使用 `@captured_column_list` 参数仅对包含的列启用 CDC。您可以在启动任务前手动设置该参数。该参数中列出的列名不能超过 127 个字符。

* 由于需要在所有源表上启用 MS-CDC，因此存在以下限制：

  * 不支持截断表
  * 不支持 WRITETEXT 和 UPDATETEXT 实用程序

  有关 MS-CDC 限制的详细信息，请参阅 Microsoft 帮助。

* [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/AzureSQLMSCDC/azuremscdc-source-limitations.htm)当在没有 db\_owner 角色的情况下运行时，以下限制适用：

  * 不支持捕获 DDL。为了防止 移动 错误，必须在运行任务之前清除连接设置中的捕获 DDL 事件复选框。

  * MS-CDC 无法自动启用，因此应手动启用。为了防止 移动 错误，必须在运行任务之前清除连接设置中的对所有捕获的表启用 MS-CDC 复选框。

  信息注释在没有 db\_owner 角色的情况下运行需要特殊权限。有关更多信息，请参阅[所需的权限](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Azure-MSCDC-Source/azremscdc-SQLServerDBSource-security.htm)。

* 仅在满负载 移动 任务中支持计算列的移动。在 CDC 过程中，对计算列的 INSERT 将在目标上显示为 NULL，UPDATE 将被忽略。

* 不支持分区切换。

* 不支持以下 DML 模式：

  select &lt;\*&gt; into &lt;new\_table&gt; from &lt;existing\_table&gt;

* 不支持列级加密。此类表在写入目标时将不包含加密列。

* 不支持 ADD COLUMN DDL。当执行 ADD COLUMN DDL 操作时，该表将被复制到目标端，但不包含新添加的列，并且会显示警告。

* 在 Microsoft Azure SQL 托管的实例空间数据类型（GEOGRAPHY 和 GEOMETRY）中插入值时，可以忽略 SRID（空间参考系统标识符）属性-在这种情况下，将使用默认的 SRID（0 表示 GEOGRAPHY，4326 表示 GEOGLAPHY），也可以指定其他数字。当 移动 表具有空间数据类型时，数据移动网关 将用户插入的 SRID 替换为默认 SRID。

* 不支持列存储索引。

* 不支持内存优化表（使用内存内 OLTP）。

* 不支持临时数据库

* 不支持延迟耐久性

* 由于 ODBC 限制，主键的一部分不能超过 16 列。

* 将在目标中创建掩蔽数据，而不进行掩蔽。

* 不支持 OpenLDAP

* 不支持自配置为使用 ADR（加速数据库恢复）的数据库的移动。

* 移动不支持名称中带有撇号 (') 的表或架构。

* 不会捕获使用 DACPAC 应用于数据库的更改。

* 不支持具有固定大小列（包括 NCHAR 和 CHAR 数据）且其总和超过 8060 字节的MS-CDC更改表。

* 不支持系统表和视图。

## 复制和登陆任务的限制和注意事项

* 由于要求在所有源表上启用 MS-CDC，因此在 CDC 期间不会捕获重命名的列。

  有关 MS-CDC 限制的详细信息，请参阅 Microsoft 帮助。

* 捕获 DDL 操作时的限制如下：

  * 不会捕获 RENAME TABLE。当遇到 RENAME TABLE DDL时，任务将继续捕获更改，而不重命名目标表。如果任务停止并恢复，或者如果存在可恢复的错误，则表格将暂停，以允许手动对齐 CT 表格。
  * 不支持 ADD COLUMN DDL。当执行 ADD COLUMN DDL 操作时，该表将被复制到目标端，但不包含新添加的列，并且会显示警告。

* [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/AzureSQLMSCDC/azuremscdc-source-limitations.htm)在没有 db\_owner 角色的情况下运行时，不支持捕获 DDL。

  信息注释在没有 db\_owner 角色的情况下运行需要特殊权限。有关更多信息，请参阅[不使用 db_owner 角色运行](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Azure-MSCDC-Source/azremscdc-SQLServerDBSource-security.htm#Running)。

* 在没有 db\_owner 角色的情况下运行时，MS-CDC 无法自动启用，因此应手动启用。为了防止 移动 错误，在运行任务之前，还必须清除连接属性中的对所有捕获的表启用 MS-CCD 复选框。

* 不支持在单个事务中捕获 DDL 和 DML 语句。

## 不支持的安全功能

不支持使用以下安全功能的表：

* 始终加密
* 行级安全性

## 不支持的数据类型

不支持以下数据类型：

* CURSOR
* SQL\_VARIANT
* TABLE

信息注释

根据基本类型支持用户定义的数据类型。例如，基于 DATETIME 的用户定义数据类型被处理为 DATETIM 数据类型。