如何使用Azure Data Studio备份Azure数据库并还原到本地开发环境
可行解决方法汇总
你遇到的情况是Azure Data Studio默认没有集成Azure SQL数据库的备份还原GUI选项,以下是三种可直接落地的解决方案:
方案1:安装Azure Data Studio官方扩展实现GUI操作
- 打开Azure Data Studio左侧的扩展面板,搜索SQL Server dacpac扩展,完成安装
- 连接到你的Azure SQL数据库,右键点击目标数据库名称,选择
Extract Data-tier Application,按提示选择是否导出全量数据,导出得到dacpac格式的数据库备份文件 - 切换连接到你本地的SQL Server实例,右键点击「数据库」根目录,选择
Deploy Data-tier Application,上传刚才导出的dacpac文件,按照向导提示完成导入即可
如果你的Azure数据库是托管实例或者部署在Azure VM上的SQL Server,安装扩展后右键数据库会直接出现原生的备份/还原选项,操作逻辑和SSMS完全一致。
方案2:命令行工具导出导入
适合偏好命令行操作的场景:
- 首先通过Homebrew安装所需工具:
brew install sqlcmd sqlpackage - 执行导出命令,将Azure数据库导出为包含全量结构和数据的bacpac文件:
替换尖括号内的对应配置后执行,等待导出完成即可sqlpackage /a:Export /ssn:tcp:<你的Azure数据库服务器地址>,1433 /sdn:<Azure数据库名称> /su:<Azure数据库用户名> /sp:<Azure数据库密码> /tf:<本地保存路径/xxx.bacpac> - 执行导入命令,将bacpac文件还原到本地SQL Server:
sqlpackage /a:Import /tsn:localhost /tdn:<本地目标数据库名称> /tu:<本地SQL用户名> /tp:<本地SQL密码> /sf:<刚才的bacpac文件本地路径>
方案3:通过Azure Portal导出备份文件
如果不想在本地安装额外工具,可以直接在网页端操作:
- 登录Azure Portal,找到你的SQL数据库资源,在左侧操作栏选择「导出」选项
- 配置存储账户保存导出的bacpac文件,填写数据库的认证信息,等待导出任务完成
- 将bacpac文件下载到本地后,在Azure Data Studio连接本地SQL实例,右键数据库选择导入bacpac即可完成还原
注意:Azure SQL单数据库/弹性池默认不支持生成bak格式的备份文件,dacpac/bacpac是官方推荐的跨环境迁移方案,迁移后的数据和结构和原库完全一致,不会出现丢失问题。
内容的提问来源于stack exchange,提问作者Asif Hameed
相关产品推荐
相关产品推荐

