I have a SSIS package that is stored in a SQL Server 2005 DB. I am trying to execute this package from a stored procedure on the same server. Is there a better way than
I recommend using Agent instead:
sp_start_job
to start this jobThe downside is that you can't easily pass the parameters from SQL to the package this way.
Since 2012, MSSQL has an SSIS Catalog, where you can park your packages there. You can then execute a package with parameters. This way we can avoid xp_cmdshell
to call dtexec
, or sp_start_job
without parameters. Key SPs: create_execution
, set_execution_parameter_value
, and start_execution
.
From MSDN:
To run a package on the server using SQL Server Management Studio
Deploy and Execute SSIS Packages using Stored Procedures
I don't think so, here are two good articles:
http://www.simple-talk.com/sql/sql-server-2005/executing-ssis-packages-/
http://www.codeproject.com/KB/database/Call_SSIS_from_SP.aspx