项目部署中的服务器范围变量(2012 SSIS)

时间:2015-06-29 14:00:42

标签: sql-server ssis sql-server-2012 sql-server-2014 ssis-2012

我已经读过在2012/14 SSIS中使用目录作为2008年配置的替代品。通过这种替换,我还没有看到人们如何处理使用的配置的扫描范围服务器上的所有软件包,例如服务器连接或路径位置。使用此scanario,所有程序包都指向一个配置,如果该值发生变化,则会更新所有程序包。这是否可以与目录一起使用?似乎每个项目都有自己的目录,如果是这样的话,每次服务器范围的配置/参数发生变化时,都需要在每个项目中进行更改。

1 个答案:

答案 0 :(得分:3)

在SSSIDB中,项目位于文件夹下。文件夹也可能包含SSIS环境。

当您右键单击项目(或程序包)并选择“配置”时,这就是您应用配置的地方,就像您在2008年那样。您可以使用与项目位于同一文件夹中的SSIS环境,或者您可以在不同的文件夹中引用一个。这是我使用的方法并向人们建议。

在我的Integration Services目录中,我有一个名为“Configurations”的文件夹(因为它的排序高于Settings)。在其中,我创建了一个名为“General”的环境。许多人喜欢制作名为Dev,Test,Prod的环境,但除非你有1台SSIS服务器处理所有这些,我发现让我的部署脚本变得非常好并且通用的复杂性太过于痛苦。

然后我将项目部署到命名良好的文件夹,以便Sales文件夹包含SalesLoadRaw,SalesLoadStaging,SalesLoadDW等项目。

如果我创建了一个新项目,那么我需要添加对Configurations.General集合的引用,然后将项目项关联到Environment项。对于连接字符串,您无需定义变量来接受字符串。您可以直接分配给连接管理器的属性(项目或包范围)。

配置的好处在于,一旦你分配了它们,它们就会通过重新部署项目而持续存在。

最容易让人陷入臀部的是,当你创建一个环境并将这些条目添加到其中时,请不要单击确定。而是单击“脚本”按钮并将其编写到新窗口。否则,您必须为dev / test / load / stage / production环境重新创建所有这些条目。我发现编写脚本一次然后修改值(SLSDEV到SLSPROD)与尝试手动创建它们相比更加清晰。