If you’ve ever worked with SQL Server Integration Services (SSIS) then you’re probably familiar, in some way, with the steps required for deploying that package onto the server. In the past this could be somewhat of a tedious endeavor with numerous deployment options but ever since the release of SQL Server 2012, Microsoft has provide a streamlined approach to deploying SSIS packages.
The SQL Server Integration Services Catalog (SSIS Catalog) is a one stop shop for managing and deploying SSIS projects on the server. If you’re reading this post I will assume you already have an SSIS package you are wanting to deploy to a server. However, if that is not the case, you can always create an empty SSIS project in Visual Studio and populate it with several packages in order to see how those individual packages will be imported and deployed into the SSIS catalog.
The first step to creating a catalog is to locate the Integration Services Catalogs option in Management Studio. Once you are connected to the server you should see it towards the bottom of the drop-down as shown below.
Right-click Integration Services Catalogs and select Create Catalog. The Create Catalog window will be displayed as shown below. There is very little that you need to do from here aside from entering a password that will be used to encrypt the catalog. The default name for the catalog database will always be SSIDB. This can not be changed and at this time only a single catalog is supported, though you can have multiple projects deployed within the catalog database so it’s really not a big deal.
You will also see a checkbox, which should already be checked, to Enable automatic execution of Integration Services stored procedures at SQL Server startup. It is good practice to leave this option checked if you are intending to create a catalog that will be used routinely. This option can always be turned off at a later time.
Once you click OK, expand the Integration Services Catalogs drop-down and you should now see the newly created SSIDB catalog database.
Now that the SSISDB catalog database has been created the next step is to create a folder that will be used to store the catalog of the specific SSIS project that you will be importing. To create the folder, simply right-click SSISDB and select Create Folder.
The Create Folder window will appear, as shown below. Here you will provide a name for the folder. The name of the folder should be descriptive of the SSIS project you will be importing as the SSISDB catalog database can have multiple catalogs contained within it.
In the example above I am creating a catalog for an SSIS project that supports my company’s BI 360 Data Warehouse. I have named the folder BI360DW to reflect this.
Once the folder has been created you will notice that there are two additional drop-downs, Projects and Environments, contained within the folder. For the purposes of this guide, the Projects drop-down is all we need to be concerned with as this is where the individual packages from an SSIS project will be imported.
Now that the project folder has been created it is time to import and deploy the SSIS project into the folder. There are two possible steps for doing this. By right-clicking on the Projects drop-down you will see the options to Deploy Project or Import Packages.
If your project is already created you can skip the Import Packages step and go straight to Deploy Project. However, for the purposes of this guide I will start by importing the packages, though technically this is not necessary as my project already exists.
Once you select Import Packages you will see a generic splash screen that will outline the steps the wizard will take to in order to convert the Integration Services packages. Click Next> to get started.
On the first step you will need to select the location of the package you want to import. It is important that the package be available on the actual server that you are importing it to. If it is not, simply copy it to the server.
In the example above, the path to the SSIS project has been specified. Once this has been done, click Next >
The next screen is probably the most important step. Here you will select the individual packages from the SSIS project that you want to import into the catalog. In the screenshot below you can see a list of 11 individual packages that are part of the overall project.
Notice that not all packages are checked. Two of the packages are older versions of existing packages. Ideally these should be removed from the project but as I am pulling these from an actual project I am working on, these remain in the project until I have fully tested the newer version.
Check the box next to all the packages that you want to import into the catalog. You can also apply an additional password to each package being imported, though this is not required and not always necessary.
Once all applicable packages have been selected click Next >. The packages will now be loaded into the project.
The next window will require you to enter a project name. If you plan on having multiple projects within the same catalog folder then it’s good to give some thought into how you would like to name them. Generally a name based on the description of the project will suffice. In this case I only plan on having a single project within the catalog so I am going to give it the same name as the catalog folder, BI360DW.
Once you have provided a project name click Next >
In the event that you use the same project name, as mentioned above, you may receive a prompt indicating this and asking if you want to overwrite the existing project. In this case just select Yes. If you selected to Deploy Project earlier on this will not be a concern.
Depending on the project you are importing or deploying the next series of window may or may not be applicable. The following windows contain options for selecting Execute Packages Tasks, Configurations, Creating Parameters and Configuration Parameters. In many cases these windows will simply show no available options, as shown below.
Configure these options as needed if applicable and click Next > until you reach the Review window.
Review the individual packages that you are importing and all available options and configurations. Once you have confirmed that everything is set up correctly click Convert
Once the wizard has converted all the packages you should see a green check mark next to each step.
If you encounter any errors you will need to review the error and resolve before moving on. If all items show green click Close.
It is now time to Deploy the Integration Services project. Another splash screen will be displayed outlining the steps that will be taken by the wizard. Once you are ready to deploy the project click Next >
The first screen, shown below, will specify the server name and path to the project. If you previously went through the steps to import the packages this screen should have the server and project path predefined. If not, specify both and click Next >
The following screen allows you to review the deployment setup. Review the options and once you are ready to deploy the project click Deploy.
The deployment process can take anywhere form a few seconds to several minutes depending on the size of the project and the speed of the server. Once the project has been deployed you should see a green check next to each step as shown below. Click Close to exit out of the wizard.
You can now view the catalog and confirm that the SSIS packages were successfully imported. Navigate back to the Integration Services Catalog and select the drop-down next to SSISDB, then to your project folder, then Projects and finally Packages.
As you can see all eight SSIS packages that I selected have been added to the BI360DW catalog.
From here you can now utilize the catalog to execute the SSIS packages through an automated SQL Server Agent Job. If you would like to know more about configuring an Agent Job to reference a SQL Server Integration Services package review my post on Creating A SQL Server Agent Job To Call A Deployed SSIS Package.