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

标签 powershell azure azure-sql-database azure-resource-manager azure-sql-server

我想使用 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/

相关文章:

powershell - 如何使 Validate-set 也适用于强制参数输入提示?

azure - If/Else 是否包含在 Azure DevOps YAML 中用于动态设置构建配置?

azure - ADO 查询中的多个项目

azure - 为了在我的 Azure SQL Server 中配置外部用户,我的部署服务主体需要哪些角色/权限/组

sql-server - 来自 TFS 构建代理的间歇性 Azure 数据库连接

azure - 使用通配符在 blob 中搜索文件名

powershell 性能 : Get-ChildItem -Include vs. Get-ChildItem | Where-对象

regex - PowerShell:拆分字符串而不删除拆分模式?

c# - Azure Application Insights - 自定义警报

azure - 使用 Azure 流量管理器进行扩展的数据库策略