我想使用 PowerShell、Azure 资源管理器模板和 dacpac 部署具有架构和表的 Azure SQL 数据库。我怎样才能做到这一点?
最佳答案
先决条件
- Azure 订阅
- 安装了工作负载
Azure 开发
和数据存储和处理
的 Visual Studio - 可用的 Azure Key Vault
使用表创建 dacpac 包
- 创建新的
SQL Server 数据库
项目 - 添加新的解决方案文件夹
- 添加新架构和表 SQL 脚本
- 如有必要,将目标平台调整为
Microsoft Azure SQL Platform V12
[2] - 然后构建解决方案 -> 这将创建可用于部署的 dacpac 包(请参阅
.\bin\debug\xxx.dacpac
)
使用数据库部署 SQL Server
- 创建新的
Azure 资源组
项目 - 修改参数和模板文件
- 在部署期间,防火墙规则设置为允许部署 dacpac。使用 VSTS 时,请按照此处的说明分别相应地调整 IP 地址 [1]
- 然后可以将服务器、数据库、架构和表部署到 Azure
考虑
- 为了能够使用 dacpac 软件包,必须从以下来源获取 DLL:
- 部署 DACPAC 软件包时遇到问题
- 检查 Azure SQL DB 的防火墙设置
- 有时,PowerShell 似乎会缓存旧值,而不会用新分配的值覆盖它们。当出现文件未找到错误并且您找不到该错误时,请尝试重新启动 PowerShell 环境
资源
[1] Deploy Dacpac packages via power shell script to Azure SQL Server
[2] How to: Change Target Platform and Publish a Database Project
关于powershell - 使用 ARM 模板进行 SQL 部署,包括架构和表(dacpac、PowerShell),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50948491/