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

调用New-AzSqlDatabaseImport提示存储账户无法访问如何解决

Azure SQL 导入bacpac存储访问报错解决方案

问题1:资源组归属影响说明

  • New-AzSqlDatabaseImport 命令的 -ResourceGroupName 参数仅需要对应目标SQL服务器所属的资源组即可,存储账户和SQL服务器分属不同资源组不会对导入操作产生任何影响,跨资源组导入是Azure原生支持的场景,不属于本次报错的原因。

问题2:所需权限配置

分两种访问场景配置对应权限即可:

  • 若使用存储账户密钥访问:
    • 确保传入的是存储账户层级的访问密钥(而非容器、Blob层级的密钥),且密钥未过期、未被轮换
    • 若存储账户开启了「禁止存储账户密钥访问」的强制AAD认证配置,无法使用密钥访问,需切换为托管身份认证方式
  • 若使用托管身份/ SAS令牌访问:
    • SAS令牌需至少包含读(r)、列表(l)权限,服务范围勾选Blob、资源范围勾选容器与对象,过期时间需设置为晚于预估的导入完成时间
    • 若使用SQL服务器的系统分配托管身份访问,需为该托管身份分配存储账户对应容器的「存储Blob数据读者」角色,调用命令时无需传入存储密钥参数

问题3:存储账户防火墙规则调整

这是该报错的最常见诱因,按如下配置即可:

  • 优先勾选存储账户防火墙配置页的允许来自受信任的Azure服务的连接例外选项,导入操作由Azure官方的SQL导入服务发起,属于受信任的第一方服务,开启该配置后无需额外添加IP白名单即可正常访问
  • 若不允许开启上述例外,需将目标SQL服务器所在区域的所有Azure SQL服务公网IP段全部加入存储账户的IP白名单,该方案维护成本较高不推荐
  • 若存储账户配置了专用终结点,需确保专用终结点所属虚拟网络与SQL导入服务网络互通,否则仍会被防火墙拦截

额外排查点

  • 确认bacpac文件未处于归档存储层,若为归档层需先解冻为热/冷层才能被访问
  • 确认传入的Blob URI为完整路径,未携带多余的SAS参数、拼写错误
  • 确认存储账户未配置Blob不可修改、资源锁等限制访问的规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:48:04