限制和考虑事项
使用 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 数据类型。