ADF同步SQL Server表到Snowflake时部分表仅加载首列问题咨询
ADF同步SQL Server表至Snowflake仅加载首列的原因
- 源端元数据读取失败:若Copy Activity配置了自动列映射,ADF同步前读取SQL Server异常表的元数据时,如果遇到权限不足、查询超时、元数据锁冲突问题,会静默降级为仅读取第一列的逻辑,生成对应COPY命令,不会抛出显性报错。
- 文件格式配置不匹配:检查异常表对应ADF输出到Snowflake Stage的文件格式规则,以及Snowflake Stage绑定的文件格式参数:如果源导出的文件存在列分隔符异常、行结束符异常、表头配置和实际文件不匹配(比如源导出无表头但配置了
SKIP_HEADER=1),ADF无法正确解析文件列结构,就会生成SELECT $1的查询逻辑。 - 特殊字符/大小写敏感导致列映射失败:就算两端字段名、类型完全一致,若异常表的表名或字段名包含空格、&、%等特殊字符,或者你开启了Snowflake的标识符大小写敏感配置,ADF的自动映射规则无法匹配到对应列,会fallback到仅加载首列的逻辑。
- ForEach循环参数传递异常:如果你的表清单通过数组参数传入ForEach循环,部分异常表的参数值存在多余空格、转义字符缺失,会导致Copy Activity读取目标表schema时匹配错误,触发映射失败降级逻辑。
快速验证方案:
- 单独抽取异常表,运行非循环的Copy Activity,手动配置列映射后确认生成的COPY命令是否恢复正常
- 查看异常Copy Activity的运行日志,筛选「源schema读取」「目标schema匹配」相关的日志节点,确认是否存在schema匹配的警告信息
- 下载Stage中对应异常表的源文件,手动核对文件结构、列数是否符合预期
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

