Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment 如何将SSIS 2012项目配置为在不同的环境配置下运行?_Deployment_Ssis_Sql Server 2012 - Fatal编程技术网

Deployment 如何将SSIS 2012项目配置为在不同的环境配置下运行?

Deployment 如何将SSIS 2012项目配置为在不同的环境配置下运行?,deployment,ssis,sql-server-2012,Deployment,Ssis,Sql Server 2012,使用项目部署模型配置2012 SSIS项目的最佳逻辑方式是什么 考虑一个SSIS项目MyImport项目有三个包的场景 项目解决方案: MyImport项目 进口包装-01 进口包装-02 进口包装-03 项目变量: Project DBConnString:由所有包用于连接到单个数据库 Project FolderPath:由所有包用于查找输入文件 环境: 该项目将在上部署 QA服务器 暂存服务器 生产服务器 是否有配置项目参数的标准方法 我看到了很多关于软件包配置文件的文章。

使用项目部署模型配置2012 SSIS项目的最佳逻辑方式是什么

考虑一个SSIS项目<代码>MyImport项目有三个包的场景

项目解决方案:
  • MyImport项目
    • 进口包装-01
    • 进口包装-02
    • 进口包装-03
项目变量:
  • Project DBConnString:由所有包用于连接到单个数据库
  • Project FolderPath:由所有包用于查找输入文件
环境: 该项目将在上部署

  • QA服务器
  • 暂存服务器
  • 生产服务器
是否有配置项目参数的标准方法


我看到了很多关于软件包配置文件的文章。是否有办法根据部署环境配置项目参数?

SSIS 2012项目部署模型提供了更大的灵活性,可以创建环境并配置可映射到项目参数的环境特定值。下面的示例演示了如何针对多个环境执行部署到
Integration Services Catalog
的包。理想情况下,生产环境应该位于自己的服务器上。为了简单起见,本例使用同一服务器上的所有环境

SSIS 2012集成服务目录,具有特定于环境的值: 假设您已将一个包部署到Integration Services目录,其中包含两个名为
Environment
FilePath
的项目参数。要在不同环境下运行包,可以在Integration Services Catalogs\SSIDB\Folder name\environments下创建多个环境

此示例有三个环境文件夹,分别名为
DEV
PRD
TST

要创建稍后应映射到项目参数的变量,请双击Environments文件夹下的环境。此示例显示如何在所有环境中配置值

由于包有两个名为
Environment
FilePath
的项目参数,因此我们将创建两个同名的环境变量。所有环境都配置了相同的变量名,但值不同

要将环境变量映射到项目参数,请右键单击Integration Services目录下的项目,然后单击配置…

在“配置”对话框中,单击“引用”页面并添加应与项目关联的每个环境

在配置对话框中,单击参数页面。对于
参数
选项卡下列出的每个参数,您需要单击
省略号
按钮来映射相应的环境变量

在“设置参数值”对话框中,选择“使用环境变量”单选按钮,然后选择适当的变量。这里映射的参数是
[Practice.SSDT].[Environment]
。因此,它被映射到环境变量
environment

一旦将参数映射到适当的环境变量,就可以在包执行期间选择正确的环境。要执行包,右键单击包,然后单击执行…

在“执行包”对话框中,选中“环境”框,并选择包应在其中使用值执行的适当环境

本例中的示例包
SO_15206184.dtsx
仅将项目参数
Environment
FilePath
的值插入表中。下面是针对不同环境执行包的结果,甚至包括来自SSDT的环境


根据我对您问题的理解,您有3个单独的服务器要部署到,每个服务器都有自己的SSIS目录实例。您不希望在多个环境中执行单个服务器。不幸的是,在这种情况下,user756519的答案几乎没有什么用处——尽管付出了10%的努力

我将忽略SSIS中的“环境”设置。这用于在单个SQL Server实例上管理多个环境

相反,我会:

  • 在Visual Studio解决方案中设置环境1项目参数值,并部署到环境1
  • 部署到环境2
  • 使用SSMS连接到环境2,在Integration Services目录下导航以查找您的项目,右键单击该项目并选择“配置”。根据环境2的需要编辑参数
  • 部署到环境3
  • 使用SSMS连接到环境3,在Integration Services目录下导航以查找您的项目,右键单击它并选择配置。根据环境3的要求编辑参数

  • 现在,您可以继续开发项目并将其部署到每个环境中。除非添加/删除/重命名项目参数,否则无需进一步维护。在每个环境/服务器上执行任何包时,它将遵循通过SSMS设置的配置

    您是希望利用SSIS 2012的新项目部署模型,还是使用现有包部署模型?我使用的是项目部署模型。我应该在报告中提到这一点question@frictionlesspulley下面哪个答案最准确地描述了您想要实现的目标?也许选择一个作为被接受的答案?你能检查一下l