Problem One of the Junior SQL Server Developers in my company approached me yesterday with a dilemma. He was developing an SSIS Package which imports data from a comma separated text file and he wanted to know the different ways in which one can execute an SSIS Package in SQL Server 2005 and higher versions. At first I started to tell him, but figured it would be smarter to document the options and share the information.
Solution In SQL Server 2005 and higher versions there are different ways in which one can execute an SSIS package. Let us go through each option one by one.
Execute SSIS Package Using SQL Server Business Intelligence Development Studio (BIDS)
During the development phase of the project developers can test the SSIS package execution by running the package from Business Intelligence Development Studio a.k.a. BIDS.
1. In Solution Explorer, right click the SSIS project folder that contains the package which you want to run and then click properties as shown in the snippet below.
2. In the SSIS Property Pages dialog box, select Build option under the Configuration Properties node and in the right side panel, provide the folder location where you want the SSIS package to be deployed within the OutputPath. Click OK to save the changes in the property page.
3. In Solution Explorer, right click the SSIS Package and then click Set as Startup Object option as shown in the snippet below.
4. Finally to execute the SSIS package, right click the package within Solution Explorer and select Execute Package option from the drop down menu as shown in the snippet below.
Execute SSIS Package using DTEXEC.EXE Command Line Utility
Using the DTEXEC.EXE command line utility one can execute an SSIS package that is stored in a File System, SQL Server or an SSIS Package Store. The syntax to execute a SSIS package which is stored in a File System is shown below.
DTEXEC.EXE /F "C:\BulkInsert\BulkInsertTask.dtsx"
Execute SSIS Package using DTEXECUI.EXE Utility
Using the Execute Package Utility (DTEXECUI.EXE) graphical interface one can execute an SSIS package that is stored in a File System, SQL Server or an SSIS Package Store.
1. In command line, type DTEXECUI.EXE which will open up Execute Package Utility as shown in the snippet below. Within the Execute Package Utility, click on the General tab and then choose the Package source as "File System", next you need to provide the path of the SSIS package under Package option and finally click the Execute button to execute the SSIS package.
The Execute Package Utility is also used when you execute the SSIS package from the Integration Services node in SQL Server Management Studio.
Execute SSIS Package using SQL Server Agent Job
Using a SQL Server Agent Job one can execute an SSIS package that is stored in a File System, SQL Server or an SSIS Package Store. This can be done by creating a new SQL Server Agent Job and then by adding a new step with details as mentioned in the snippet below.
1. In New Job Step dialog box provide an appropriate Step name, then choose "SQL Server Integration Services Package" option as Type from the drop down list, and then choose "SQL Server Agent Service Account" as Run as value.
2. In the General tab choose the File System as Package Source and provide the location of the SSIS package under Package option.
3. Click OK to save the job step and click OK once again to save the SQL Server Agent Job
4. That's it now you can execute the SQL Server Agent Job which will internally execute the SSIS package.
Note: You can also execute the SSIS package using the Export and Import Wizard once it is created using the wizard.
I know Powershell is .NET related but has someone a class or vb.net code to trigger SSIS packages from .NET? This is because we have already a framework that triggers x amount of actions for our customer at a certain time. We would like to add also SSIS packages.
I have some SSIS packages that have to go out and pull information from other servers that are not SQL Servers and use an ODBC style database. Since the database is protected by a password I have created an exe file with the script to run the SIS packages using Task Scheduler. In trying to run them with SQL Server Jobs it would error out all the time due to the password issue so I found this to be a great work around.
So if I have Visual Studio 2010 and create a package that connects to one database and pulls data to another database (glorified execute sql task) and it is saved on my local hard drive, can I execute it without having to deploy to a full installation of SSIS on some server somewhere? If I am already connected to the two db's and can test my package for errors, I would think I should be able to. But it was not entirely clear to me in the options above such as BIDS where you mention:
"select Build option under the Configuration Properties node and in the right side panel, provide the folder location where you want the SSIS package to be deployed within the OutputPath"
Can I just deploy the package to my fileshare and then follow your BIDS instructions above or will that not work?