如何通过bacpac更新已创建的Azure SQL Database?
用更新后的Bacpac更新现有Azure SQL Database的方法
Azure门户的「Import Database」确实仅支持创建新数据库,要更新现有库,可通过以下几种方式实现:
方法一:使用SQL Server Management Studio (SSMS)
- 打开SSMS并连接到目标Azure SQL Database
- 右键点击目标数据库 → 任务 → 导入数据层应用
- 在导入向导中选择更新后的bacpac文件路径,跟随向导完成导入操作
注意:该操作会覆盖目标数据库的现有结构与数据,执行前务必备份
方法二:使用Azure Data Studio
- 打开Azure Data Studio并连接到目标数据库
- 在左侧数据库列表右键点击目标库 → 数据层应用 → 导入
- 选择更新后的bacpac文件,按向导提示完成导入
方法三:使用PowerShell命令
将本地bacpac文件上传至Azure存储容器后,执行以下命令(替换占位符):
$resourceGroupName = "你的资源组名称" $serverName = "你的SQL服务器名称" $databaseName = "目标数据库名称" $storageAccountName = "你的存储账户名称" $storageContainer = "存储容器名称" $bacpacFileName = "更新后的bacpac文件名.bacpac" $storageKey = "存储账户访问密钥" Import-AzSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName ` -DatabaseName $databaseName -StorageKeyType StorageAccessKey -StorageKey $storageKey ` -StorageUri "https://$storageAccountName.blob.core.windows.net/$storageContainer/$bacpacFileName"
方法四:使用Azure CLI命令
同样需先将bacpac上传至Azure存储容器,再执行命令(替换占位符):
az sql db import --resource-group 你的资源组名称 --server 你的SQL服务器名称 ` --name 目标数据库名称 --storage-key 存储账户访问密钥 --storage-key-type StorageAccessKey ` --storage-uri https://你的存储账户名称.blob.core.windows.net/存储容器名称/更新后的bacpac文件名.bacpac
关键注意事项
- 操作前必须备份目标数据库,防止数据丢失
- 确保目标数据库的服务层级和性能级别满足导入需求,避免因资源不足导致操作失败
内容的提问来源于stack exchange,提问作者Naveen
相关产品推荐
相关产品推荐

