You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS DMS添加列时元数据变量$AR_M_SOURCE_SCHEMA等为空问题排查

AWS DMS 新增列时元数据变量$AR_M_SOURCE_SCHEMA/$AR_M_SOURCE_TABLE_NAME为空的问题排查与解决

问题分析

你配置的add-column转换规则逻辑合法,但元数据变量返回空值,常见原因集中在变量拼写错误、源端权限不足或任务配置细节遗漏这几个方向。

解决方法

1. 修正元数据变量名称(最常见原因)

AWS DMS中,源schema的正确元数据变量是$AR_M_SOURCE_SCHEMA_NAME,而非你当前使用的$AR_M_SOURCE_SCHEMA(缺少_NAME后缀),这是多数用户容易犯的拼写错误。

修正后的表达式应为:

'test_val_'||$AR_M_SOURCE_SCHEMA_NAME||'.'||$AR_M_SOURCE_TABLE_NAME

2. 验证源数据库账号的元数据访问权限

源端点的数据库账号必须具备读取元数据的权限,否则DMS无法捕获schema和表名信息:

  • MySQL:授予账号SELECT ON information_schema.*权限
  • PostgreSQL:授予账号USAGE ON SCHEMA my_schema,以及SELECT ON pg_catalog.pg_class, pg_catalog.pg_namespace权限
  • SQL Server:授予账号VIEW DEFINITION权限
  • Oracle:授予账号SELECT ANY DICTIONARY权限

3. 检查表映射与任务配置细节

  • 确认任务的表映射中,selection-type配置正确,且object-locator的schema-name与实际源schema完全匹配(注意部分数据库区分大小写)
  • 若使用通配符%匹配表名,先尝试指定单个具体表名测试规则,排除通配符匹配异常的可能
  • 若任务中存在rename-schema或rename-table转换规则,需明确:源端元数据变量始终返回原始schema/表名,不受重命名规则影响

4. 排查任务日志

在CloudWatch日志中查看DMS任务的详细日志,搜索关键字如metadata、schema、table,检查是否存在元数据捕获失败的警告或错误信息,进一步定位问题。

内容的提问来源于stack exchange,提问作者Jake Boomgaarden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 19:32:45