首页 > 解决方案 > AWS DMS 跳过 SQL Server 中的某些表列

问题描述

我们的 SQL Server中存在具有数据类型的表列TEXT,当 DMS 运行以将数据从 SQL Server 加载到 S3 时,那些具有数据类型的列将被删除。我已尝试按照以下说明进行操作,但目标 S3 存储桶中的文件中仍然不存在这些列。

CLOB

TEXT

To use this data type with AWS DMS, you must enable the use of CLOB data types for a specific task.

For SQL Server tables, AWS DMS updates LOB columns in the target even for UPDATE statements that don't change the value of the LOB column in SQL Server.

During CDC, AWS DMS supports CLOB data types only in tables that include a primary key.

文档

我已经从控制台尝试了以下转换规则的变体。

结果:

例如

table_mappings = [
    {
      "rule-type" : "transformation",
      "rule-id" : "<RULE_ID>",
      "rule-name" : "ConvertDataType",
      "rule-action" : "change-data-type",
      "rule-target" : "column",
      "object-locator" : {
        "schema-name" : "<TARGET_SCHEMA>",
        "table-name" : "<TARGET_TABLE>",
        "column-name" : "%",
      },
      "data-type" : {
        "type" : "nclob"
      }
    }
  ]

如何正确设置 SQL 服务器的转换规则,以便TEXT在 DMS 加载数据时不会删除具有数据类型的列?目标是从 Snowflake 中读取所有列的数据VARCHAR

谢谢!

标签: sql-serversnowflake-cloud-data-platformaws-dmsdms

解决方案


推荐阅读