我有一个存储在SQL Server 2005数据库中的SSIS包。我试图从同一服务器上的存储过程执行此包。有没有比exec master..xp_cmdshell'dtexec / SQL ...
更好的方法我遇到(我认为)xp_cmdshell阻止执行的文件系统权限问题
答案 0 :(得分:4)
我不这么认为,这里有两篇好文章:
http://www.simple-talk.com/sql/sql-server-2005/executing-ssis-packages-/
http://www.codeproject.com/KB/database/Call_SSIS_from_SP.aspx
答案 1 :(得分:4)
我建议使用代理:
sp_start_job
启动此作业缺点是您无法通过这种方式轻松地将参数从SQL传递到包中。
答案 2 :(得分:1)
自2012年以来,MSSQL有一个SSIS目录,您可以在那里停放包。然后,您可以使用参数执行包。这样,我们可以避免$(".select-all").click(function(e) {
e.stopPropagation();
//
});
在没有参数的情况下调用xp_cmdshell
或dtexec
。主要SP:sp_start_job
,create_execution
和set_execution_parameter_value
。
来自MSDN:
To run a package on the server using SQL Server Management Studio