限制和考虑事项
使用 Microsoft SQL Server(基于日志) 源时,您应该注意以下限制和注意事项:
所有数据任务的限制和注意事项
- 如果删除任务,则不会删除任务中使用的数据库的 Microsoft SQL Server Replication Publisher 定义。Microsoft SQL Server 系统管理员必须从 Microsoft SQL Server 中删除这些定义。
- 在仅“满负载”landing 模式下支持稀疏表的Landing。
- 不支持索引视图中的数据的Landing。
- 不会捕获 TRUNCATE 事件。
-
仅在满负载 landing 任务中支持计算列的Landing。在 CDC 过程中,对计算列的 INSERT 将在目标上显示为 NULL,UPDATE 将被忽略。
- 不支持 Microsoft SQL Server 分区切换。
- 使用 WRITETEXT 和 UPDATETEXT 实用程序时,不会捕获应用于源数据库的事件。
-
不支持以下 DML 模式:
select <*> into <new_table> from <existing_table>
- 不支持列级加密。
- 访问备份事务日志时,以下限制适用:
- 不支持加密备份。
- 不支持存储在 URL 或 Windows Azure 上的备份。
- 不支持 Microsoft SQL Server 备份到多个磁盘(即 MIRROR TO DISK)。
- 在 SQL Server 空间数据类型(GEOGRAPHY 和 GEOMETRY)中插入值时,可以忽略 SRID(空间参考系统标识符)属性-在这种情况下,将使用默认的 SRID(0 表示 GEOGRAPHY,4326 表示 GEOGLAPHY),也可以指定其他数字。当 landing 表具有空间数据类型时,用户插入的 SRID 将替换为默认 SRID。
- 不支持列存储索引。
- 不支持内存优化表(使用内存内 OLTP)。
- 不支持临时表
- 不支持延迟耐久性
- 不支持表更改跟踪
- 将在目标中创建掩蔽数据,而不进行掩蔽。
- 不支持 OpenLDAP
-
不支持直接从辅助 Microsoft SQL Server 数据库的Landing。因此,必须将 Microsoft SQL Server connector 配置为连接到主数据库或 AlwaysOn Listener。
-
不支持自配置为使用 ADR(加速数据库恢复)的数据库的Landing。
-
Landing不支持名称中带有撇号 (') 的表或架构。
-
不会捕获使用 DACPAC 应用于数据库的更改。
-
具有压缩和未压缩分区的表不支持 CDC。
-
不支持系统表和视图。
仅复制任务的限制和注意事项
- 不支持使用
sp_rename
重命名表(例如sp_rename 'Sales.SalesRegion', 'SalesReg;
) - 不支持使用
sp_rename
重命名列(例如sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';
) -
在文件级别访问备份事务日志时,以下限制适用:
- 备份事务日志必须位于具有适当权限和访问权限的共享文件夹中。
- 活动事务日志通过 Microsoft SQL Server API(而不是文件级)进行访问。
- Qlik Talend Data Integration 和 Microsoft SQL Server 计算机必须位于同一域中。
- 不支持透明数据加密 (TDE)。请注意,当使用 SQL Server 的本机功能(即不使用文件级访问)访问备份事务日志时,支持 TDE 加密。
- 不支持 Unix 平台。
- 不支持从多个条带读取备份日志。
- 仅在有限 LOB 模式下支持复制 GEOGRAPHY 和 GEOMETRY 数据类型。
- 如果没有为 MS-REPLICATION 或 MS-CDC 设置数据库,您仍然可以捕获没有主键的表,但请记住,在这种设置中,只会捕获 INSERT/DELETE DML 事件。UPDATE 事件将被忽略。
-
不支持在单个事务中捕获 DDL 和 DML 语句。
-
更新影响多行的主键/唯一索引可能会在将更改应用于目标时引起冲突。例如,如果 UPDATE 作为 INSERT/DELETE 操作而不是单个 UPDATE 操作应用于目标,则可能会发生这种情况。在这种情况下(对主键/唯一索引的更新会影响多行),不支持在“批量优化应用更改处理”模式下工作,因为这可能会导致表被忽略。但是,在事务应用更改处理模式下工作可能会导致违反约束。
如果发生这种情况,您需要重新加载相关表,或者在 应用例外控制表中找到有问题的记录,然后在目标数据库中手动编辑它们。另请参见:Change processing tuning。
不支持的 Microsoft SQL Server 安全功能
不支持使用以下Microsoft SQL Server 安全功能的表:
- 始终加密
- 行级安全
不受支持的数据类型
不支持以下数据类型:
- CURSOR
- SQL_VARIANT
- TABLE
根据基本类型支持用户定义的数据类型。例如,基于 DATETIME 的用户定义数据类型被处理为 DATETIM 数据类型。