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

Azure Data Factory批量加载失败求助:无法打开存储文件

解决方案:Azure SQL批量加载ADLS CSV时错误码12(访问代码无效)

针对你遇到的SqlOperationFailed错误,核心问题是Azure SQL无法有效访问ADLS Gen2上的CSV文件,以下是针对性的排查和解决步骤:

  • 验证ADLS访问凭证有效性

    • 如果用的是SAS令牌,检查令牌是否过期,确保权限包含Read和List(批量加载需要遍历目录的权限),避免只给了Read权限。
    • 如果使用托管身份,确认Azure SQL的系统/用户托管身份已被授予ADLS Gen2目标容器的Storage Blob Data Reader角色,而非普通的Reader角色(后者无数据访问权限)。
  • 核对文件路径与格式

    • ADLS Gen2路径区分大小写,仔细检查容器名、文件夹层级、文件名的拼写和大小写是否完全匹配,比如appointment和Appointment会被视为不同路径。
    • 手动打开CSV文件确认没有损坏,比如是否存在乱码、不完整的行,或者分隔符/换行符不符合批量加载的预期。
  • 调整批量加载的SQL配置

    • 尝试在批量加载语句中显式指定凭证,确保SQL使用正确身份访问ADLS:
      BULK INSERT TargetTable
      FROM 'https://xxxxxxx.dfs.core.windows.net/dataverse-xxxxx-org5a2bcccf/appointment/2022-03.csv'
      WITH (
          FORMAT = 'CSV',
          FIRSTROW = 2, -- 若文件含表头则启用
          CREDENTIAL = [YourADLSCredential],
          FIELDTERMINATOR = ',',
          ROWTERMINATOR = '\n'
      );
      
    • 取消勾选Bulk lock选项重试,部分场景下锁机制会干扰凭证的正常传递。
  • 检查网络与防火墙配置

    • 确认Azure SQL的防火墙规则允许出站访问ADLS Gen2的公共端点;若为VNet环境,检查是否配置了ADLS的服务端点或VNet对等连接。
    • 检查ADLS Gen2的防火墙设置,是否将Azure SQL的出站IP地址添加到允许列表中,避免被防火墙拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:01:08