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

执行az sql db import报错,如何将Azure存储的bacpac还原至Azure SQL Server?

解决Azure SQL数据库从Bacpac导入失败的问题

报错原因分析

你遇到的"数据库不存在"报错,大概率是命令参数解析问题、基础资源未确认,或是存储访问权限/URL配置错误导致的——az sql db import命令本身确实会自动创建目标数据库,无需提前手动创建。

解决步骤

  1. 确认基础资源存在
    先验证目标资源组和SQL Server是否真实存在,执行以下命令:

    az sql server show --resource-group testrg --name testserver
    

    如果命令返回SQL Server的详细信息,说明资源存在;如果报错,需先创建对应的资源组和SQL Server。

  2. 修正导入命令的参数细节
    调整命令的参数格式,避免shell解析问题,同时确保所有参数值正确:

    az sql db import --admin-password 你的SQL管理员密码 --admin-user 你的SQL管理员账号 \
      --storage-key 你的存储账户密钥 --storage-key-type StorageAccessKey \
      --storage-uri https://你的存储账户名.blob.core.windows.net/容器名/testdb.bacpac \
      --name newtestdb --resource-group testrg --server testserver
    
    • 注意:不要保留尖括号<>,直接替换为实际值;字符串参数无需额外加单引号,避免shell解析异常。
    • storage-uri必须是bacpac文件的完整可访问URL,确保路径和文件名完全匹配。
  3. 验证存储访问权限

    • 确保使用的存储账户密钥拥有读取对应blob容器的权限;
    • 可通过以下命令测试能否读取bacpac文件:
      az storage blob download --account-name 你的存储账户名 --container-name 容器名 --name testdb.bacpac --file local-test.bacpac --account-key 你的存储账户密钥
      

    如果能成功下载,说明存储配置无问题。

  4. 检查执行账号权限
    执行命令的Azure账号需要具备:

    • 目标资源组的SQL DB Contributor或更高权限;
    • 存储账户的Storage Blob Data Reader权限。
  5. 查看导入作业状态
    az sql db import是异步操作,执行后可通过以下命令跟踪导入进度:

    az sql db import show --resource-group testrg --server testserver --name newtestdb
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 07:26:13