
After you complete the development or modification of packages, you need to deploy them to a test environment for further testing or to a production environment. This section includes information about common tasks that you do to prepare Integration Services projects for deployment, create the deployment bundle, and install packages on the target computer.
- How to add packages and other files to an Integration Services project
- How to configure the deployment utility and build a project
- How to prepare to install packages on the target computer
- How to install packages, package dependencies, and other files
How to add packages and other files to an Integration Services project
The deployment bundle includes all packages in an Integration Services project. If you want to deploy only a subset of the packages, you must create a new Integration Services project and add those packages to the project. If you want to include packages from other projects, you must add the packages to the project from which you build the deployment utility.
Suppose Deployment utility is a folder which contains the files to be deployed to the target server. The Deployment utility is created on the client machine where the SSIS Package resides. Here we will deploy the package ‘export-to-excel.dtsx’ which is located at “D:\SUMIT KR SINGH\Projects\SSIS projects”. The project name is “PackageDeployment”. Open up the solution for this Project. The figure below shows the SSIS Package:
To include this ‘export-to-excel.dtsx’ package, right click on the Solution (i.e., SSIS Packages) and in the popup menu move the mouse over Add option and click the Existing Item. The image shown below depicts this:
This will open up the Add Existing Item box. Browse to the text file location and click on Add button. The image below shows this:
After that, package ‘export-to-excel.dtsx’ is added to the project “PackageDeployment”. The image below shows this:
Integration Services automatically identifies and includes package dependencies in the deployment bundle, so you do not need to explicitly add those items to the project. Package dependencies include any configuration files that the package uses. On the other hand, the log files that the package uses are not automatically included. To decide whether you need to include the log files, you need to know whether the File connection manager creates a new file or uses an existing file.
The easiest way to do this is to locate the pertinent File connection managers in the Connection Managers area of SSIS Designer, double-click it, and take a look at the Usage type option.
If it is set to Create file, you do not need to include the log files, but if it is set to Existing file, and the file does not already exist on the target server, you do. Tasks such as the Execute SQL, XML, and WMI Data Reader tasks that execute language statements can be configured to use a direct input, a File connection, or a variable to provide the statement. If the task uses statements stored in a file, then you must add that file to the project. Again, if the file already exists on the target server, you need not do this.
NOTE: If you add packages to the project, they are automatically added to the SSIS Packages folder; other items are added to the Miscellaneous folder.
How to Configure the Deployment Utility and Build a Project
Before the build process that Business Intelligence Development Studio provides for Integration Services projects will generate the deployment utility and create the deployment bundle that you use to install packages, you must update project properties. In Solution Explorer right-click the project and click Properties, or select the project and then click Properties on the Project menu. Figure 16-44 shows an example of the resulting dialog box. |
OR, |
The property pop up for the SSIS package is as shown in the image below:
In order to configure the deployment utility, click on the Deployment Utility option in the left side of this window. There we need to configure only three properties for the deployment utility:
AllowConfigurationChanges, CreateDeploymentUtility, and DeploymentOutputPath. The following image shows the Deployment Utility Properties which should be modified to configure the deployment utility:
AllowConfigurationChanges: By default, the AllowConfigurationChanges property is set to True. This means that we can update the values of configurations when we install the packages on the target computer. Typically, we want to allow the update of configurations the first time we deploy a set of packages. Depending on the updates to packages, we may want to disallow the update of configurations on package redeployment to ensure that package properties are not inadvertently changed and the redeployed package works the same way as the package it replaces.
CreateDeploymentUtility: To build the deployment utility when you run the build process, set the CreateDeploymentUtility property to True.
DeploymentOutputPath: When we build this package the deployment utility is created in the location pointed by the DeploymentOutputPath. The default value, bin\Deployment, of DeploymentOutputPath, specifies the folder relative to the Integration Services project for which we build the deployment utility to store the files in the deployment bundle. This path can be changed to our liking. For the purpose of this demo, we are going to leave it as the default. The default path is the bin\Deployment folder in the Project Folder. In our case it is D:\SUMIT KR SINGH\Projects\SSIS projects\PackageDeployment\bin. Click Apply and then Ok to return to the BIDS.
Next, you right-click the Integration Services project and click Build. The image shown below depicts this:
After building the solution, the deployment utility is created in the default location if the build is completed successfully. Navigate to the deployment folder, D:\SUMIT KR SINGH\Projects\SSIS projects\PackageDeployment \bin\Deployment in our case and we will find the deployment files i.e. the integration services deployment manifest file (.SSISDeploymentManifest, the packages, and any package dependencies.
The remaining two points will be discussed in the next part of this article.
By: SUMIT KUMAR SINGH