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

如何将.bak文件导入Azure SQL Database?求转换及操作指引

将.bak文件转换为.bacpac并导入Azure SQL Database的完整步骤

一、将.bak文件恢复到本地SQL Server实例

Azure SQL Database无法直接读取.bak文件,需先将备份恢复到本地/虚拟机上的SQL Server(建议使用SQL Server 2012及以上版本,确保与备份文件兼容):

  • 打开SQL Server Management Studio(SSMS),连接到本地SQL Server实例
  • 右键「数据库」→「还原数据库」
  • 选择「源」为「设备」,点击「...」添加目标.bak文件
  • 在「目标」栏设置恢复后的数据库名称(如TestDB_Restored)
  • 检查数据、日志文件的存储路径(确保磁盘有足够空间),点击「确定」完成恢复

二、将恢复后的数据库导出为.bacpac文件

方法1:通过SSMS可视化操作

  • 在SSMS中右键已恢复的数据库→「任务」→「导出数据层应用」
  • 在导出向导中选择「保存到本地磁盘」,指定.bacpac文件的保存路径和文件名
  • 选择要导出的对象(默认导出全库,可按需筛选)
  • 确认设置后点击「完成」,等待导出完成

方法2:使用SqlPackage命令行(适合自动化场景)

  • 先安装SqlPackage工具(属于SQL Server数据工具组件,可单独下载)
  • 打开命令提示符,执行以下命令(替换参数为你的实际信息):
SqlPackage.exe /Action:Export /SourceServerName:localhost\SQLEXPRESS /SourceDatabaseName:TestDB_Restored /TargetFile:"C:\Backups\TestDB.bacpac"

三、将.bacpac导入Azure SQL Database

方法1:通过Azure门户操作

  • 登录Azure门户,进入你的Azure SQL Server页面
  • 在左侧「数据管理」菜单下点击「导入数据层应用」
  • 若.bacpac在本地,选择「上传」并上传文件;若已存储在Azure Blob存储,直接选择对应存储账户和文件
  • 设置目标数据库名称、服务目标(如Basic/Standard),输入SQL Server管理员用户名和密码
  • 点击「确定」启动导入,等待进度完成(时间取决于文件大小)

方法2:使用SqlPackage命令行导入

  • 执行以下命令(替换参数为你的Azure SQL信息):
SqlPackage.exe /Action:Import /SourceFile:"C:\Backups\TestDB.bacpac" /TargetServerName:your-sql-server.database.windows.net /TargetDatabaseName:TestDB_Azure /TargetUser:admin-user /TargetPassword:admin-pass

注意事项

  • 若导出.bacpac失败,检查原数据库是否包含Azure SQL Database不支持的特性(如FileStream、CLR自定义对象),需先移除这些特性再导出
  • 导入前需确保Azure SQL Server防火墙规则允许本地IP(使用本地工具时)或Azure服务访问
  • 选择与数据量匹配的服务目标,避免因资源不足导致导入超时或失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:43:34