SQL 使用 ARM 模板进行部署,包括架构和 table(dacpac、PowerShell)

SQL Deployment with ARM Templates including schema and table (dacpac, PowerShell)

我想使用 PowerShell、Azure 资源管理器模板和 dacpac 部署带有模式和 table 的 Azure SQL 数据库。我该怎么做?

先决条件

  • Azure 订阅
  • Visual Studio 安装了工作负载 Azure-DevelopmentDatastorage- and processing
  • 可用的 Azure Key Vault

使用 table

创建 dacpac 包
  • 创建一个新的 SQL Server Database 项目
  • 添加新的解决方案文件夹
  • 添加新架构和 table SQL 脚本
  • 如有必要,将目标平台调整为 Microsoft Azure SQL Platform V12 [2]
  • 然后构建解决方案 -> 这将创建可用于部署的 dacpac 包(参见 .\bin\debug\xxx.dacpac

部署SQL带有数据库的服务器

  • 创建一个新的 Azure Resource Group 项目
  • 修改参数和模板文件
    • 在部署过程中,防火墙规则被设置为允许部署 dacpac。使用 VSTS 时,请按照此处的说明分别相应地调整 IP 地址 [1]
  • 然后服务器、数据库、架构和table可以部署到Azure

考虑

  • 为了能够使用 dacpac 包,必须从以下来源获取 DLL:
  • 部署 DACPAC 包时遇到问题
    • 检查 Azure SQL 数据库的防火墙设置
    • 有时 PowerShell 似乎会缓存旧值而不用新分配的值覆盖它们。当出现文件未找到错误并且找不到错误时尝试重新启动 PowerShell 环境

资源

[1]

[2]How to: Change Target Platform and Publish a Database Project