使用外部数据源部署 Azure SQL Server

问题描述

我有两个环境,开发和生产。它们每个都有 2 个数据库一个数据库,另一个用作外部数据源。

目前我正在尝试创建一个 github 部署管道,我使用 SSDT 进行源代码控制,并且我有用于构建 .dacpac 并将其发送到 Azure 工作的操作。如何配置,以便在生产环境中,当我将更改部署到生产环境时,数据库会查找生产的外部源,而不是与开发相同的外部源?

解决方法

您可以在外部数据源连接字符串中参数化单个属性,例如服务器名称、用户名、目录。将其设置为必需,以确保在包可以在服务器上执行之前将其设置在 SSIS 目录中。

parameters pane

参数化连接后,您将在参数窗格中看到它们。

Projects Pane

将项目部署到 SSIS 目录,要部署到 Prod,请右键单击 SSDT 中的项目并从那里部署到目录。

enter image description here

enter image description here

在包执行时使用 SSIS 环境变量参数化连接字符串和值

SQL Server Data Tools (SSDT) - 集成服务项目
第 1 步: 创建参数(视情况而定的项目或包级别)并视情况将表达式、源查询等与这些参数相关联。
第 2 步: 参数化连接字符串。
第 3 步: 一旦包在 SSDT 中按需要执行,就将项目部署到 SSIS 目录。

SQL Server Management Studio (SSMS) - 集成服务目录>SSISDB
第 4 步: 创建环境并在环境中设置变量。这些应该与 SSIS 项目中的参数一致。
第 5 步: 配置每个项目(以及单独的包,如果需要)。
第 6 步: 通过目录在 SSMS 中执行包。以这种按需方式运行时,需要手动指定在执行时使用哪个环境。
第 7 步: 创建要持续执行的代理作业。将作业关联到适当的环境,以便它自动检测已设置的值。