posted 1/28/2011 by Anil - Views: [30380]
Hello to all,
Well once again I am interested to write a new blog post and thinking on which topic I should write on then I suddenly came up with my mind regarding this Topic.
Also, this may be simply for one but for someone it will be helpful for those who don't know how to do it.
while working ,I build a SSIS package by using BIDS and we can easily execute it from BIDS project but all I want to do it from the the SQL query from SSMS coz I dont want to open the BIDS and execute the package manually while i am working in SSMS.So, after some research I found it can be done by using a store procedure called xp_cmdshell.
Generally, talking about this store procedure xp_cmdshell: "xp_cmdshell" is an extended stored procedure provided by Microsoft and stored in the master database. This procedure allows you to issue operating system commands directly to the Windows command shell via T-SQL code. If needed, the output of these commands will be returned to the calling routine.
xp_cmdshell
so,to enable this we can simply run the script as:
USE masterGOEXEC sp_configure 'show advanced options', 1GORECONFIGURE WITH OVERRIDEGOEXEC sp_configure 'xp_cmdshell', 1GORECONFIGURE WITH OVERRIDEGOEXEC sp_configure 'show advanced options', 0GO
Alternatively, we can do it by using the “SQL Server 2005 Surface Area configuration” SQL Server 2005 onwards i think so.
Then ,You can run dtexec from the xp_cmdshell prompt.
The following example shows how to run a package called Package.dtsx and ignore the return code:
EXEC xp_cmdshell 'dtexec /f "C:\Package.dtsx"'
where the dtexec command prompt utility is used to configure and execute SQL Server Integration Services packages.
Also,if we need a return code from SSIS package to SSMS then,
The following example shows how to run the same package and capture the return code:
DECLARE @returncode intEXEC @returncode = xp_cmdshell 'dtexec /f "C:\Package.dtsx"'
For this there might be a lot of solution but i simply like this method to execute the SSIS Package from SSMS by using store Procedure .
So,hope this might help someone. :)
Thanks,
Anil Maharjan