Although not new in SSIS 2012, Build Configurations have become exponentially more useful with the introduction of parameters and the new project deployment model. Before we dive in to see how useful this feature is, let's take a moment to review parameters and the project deployment model.
Parameters are a new feature intended to replace and simplify configuration of SSIS packages when running under the new project deployment model. They are treated like read-only variables and have options that can make them required or mark them as sensitive. Parameters can be either package or project level and they are visible to both the Execute Package task and to SQL Agent.
Project Deployment Model
The new project deployment model brings together connections, configuration and packages into a single-deployable unit, the *.ispac file. This file is then deployed to the Integration Services Catalog, which is also new in 2012. This new model opens up several new possibilities, some of which are shared project connection managers, project references and of course project parameters.
If you have worked with SSIS extensively, more than a couple times you will have found yourself debugging a package only to realize that a connection string it pointed to the wrong source or destination. Keeping track of these values across different environments or servers can be tedious, time consuming and error prone. Build Configurations are intended to simplify and help you avoid these types of situations.
First, off you can define multiple solution configurations (i.e. Development, Acceptance, & Production) by using the Configuration Manager in SQL Server Data Tools (formerly BIDS). If you have multiple projects within your solution, each project has its own context and can be mapped to the appropriate configuration.
The first part to these design-time configurations is parameter binding. You launch the parameter binding dialog by click the 'Add Parameters to Configurations' icon. From this dialog you can add, remove and sync parameter values to solution configurations. This is handy in the case of our connection string example because we now can configure the proper environment parameter values and easily switch between environments by changing the solution or build configuration.
The second part is binding project configuration properties to the build configuration. Project configuration properties fall into one of three categories: Build, Deployment & Debugging. These properties behave in the same manner as configuration bound parameters. The most useful of these is the deployment target server and server project path. The scenario is easy, your development, staging and production servers should all be different target server names or at a minimum server project paths. By configuring the build configurations you could easily switch from environment to environment without ever worrying about entering the correct server name or path.
I hope this brief blog has helped you see the value in build configurations in SSIS 2012.
Till next time!!