Chapter 40

Creating a Master Package

The master package uses the Execute Package Task to run child packages. This process is covered in Lesson 46. Using a master package offers several advantages.

You must execute child packages in the proper order because some packages can depend on the success, failure, or completion of other packages. To do this, you can use the precedence constraints, invoking functions if you want (precedence constraints are covered in Lesson 9). You can use the master package to encapsulate multiple child packages for transactional consistency. Parameters and variables from the master package can be controlled globally and shared with the child packages. As you move the batch of packages from one environment to another, you can restrict your parameter and variable issues to the master package. (Environments are covered in Lesson 54 and deployment is covered in Lesson 53.) Master packages also enable you to control package parallelism, reducing processing time in the batch window. You can do this by setting the MaxConcurrentExecutables property of the parent package. The default value is –1, which means the number of logical or physical processors +2.

As you can see from the number of cross-references to other lessons you’ve already encountered in this lesson, when you are working on a master package, you will use many of the skills you have learned in those other lessons. However, the concept of a master package is quite simple. Think about a data warehouse ...

Get Knight's Microsoft SQL Server 2012 Integration Services 24-Hour Trainer now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.