使用项目部署模型配置2012 SSIS项目的最佳逻辑方式是什么?
考虑一个具有三个包
的SSIS项目MyImport-Project
的场景
项目部署在
上是否有配置项目参数的标准方法?
我在包的配置文件上看到了不少文章。有没有办法根据部署环境配置项目参数?
答案 0 :(得分:64)
SSIS 2012项目部署模型为创建环境和配置环境特定值提供了更大的灵活性,这些值可以映射到项目参数。以下示例说明了如何针对多个环境执行部署到 Integration Services Catalog
的程序包。理想情况下,生产环境应该在自己的服务器上。为简单起见,此示例使用同一服务器上的所有环境。
假设您已使用名为 Environment
和 FilePath
的两个项目参数向Integration Services目录部署了一个包。要在不同环境下运行包,您可以在 Integration Services Catalogs \ SSIDB \ Folder name \ Environments
此示例包含三个名为 DEV
的环境文件夹, PRD
和 TST
要创建稍后应映射到项目参数的变量,请双击“环境”文件夹下的环境。此示例显示了如何在所有环境中配置值。
因为包有两个名为 Environment
和 FilePath
的项目参数,我们将创建两个同名的环境变量。所有环境都配置了 same
变量名称,但 different
值。
要将环境变量映射到项目参数,请右键单击Integration Services目录下的项目,然后单击 Configure...
在配置对话框中,点击 References
页面,然后添加应与项目关联的每个环境。
在配置对话框中,点击 Parameters
页面。对于 Parameters
标签下列出的每个参数,您需要点击 Ellipsis
按钮以映射相应的环境变量。
在“设置参数值”对话框中,选择“使用环境变量radiobutton”并选择适当的变量。这里映射的参数是 [Practice.SSDT].[Environment]
。因此,它将根据环境变量 Environment
进行映射。
将参数映射到相应的环境变量后,可以在程序包执行期间选择正确的环境。要执行该程序包,请右键单击该程序包,然后单击 Execute...
在执行包对话框中,选中 Environment
框,然后选择包应使用该值执行的适当环境。
此示例中的示例包 SO_15206184.dtsx
只是插入项目参数的值 Environment
和 FilePath
< / em>进入表格。以下是针对不同环境执行包的结果,甚至是包含在SSDT内的包。
答案 1 :(得分:12)
在我阅读您的问题时,您需要部署3个独立的服务器,每个服务器都有自己的SSIS目录实例。您不希望单个服务器在多个环境中执行。对于那种情况,不幸的是,用户756519的答案几乎没有用 - 尽管十分之十用于努力。
我会忽略&#34;环境&#34;在SSIS中设置。这用于管理单个SQL Server实例上的多个环境。
相反,我会:
您现在可以继续开发项目并将其部署到每个环境。除非您添加/删除/重命名项目参数,否则无需进一步维护。当在每个环境/服务器上执行任何包时,它将遵循通过SSMS配置集