【发布时间】:2010-10-29 17:18:22
【问题描述】:
我有一个存储在 SQL Server 2005 数据库中的 SSIS 包。我正在尝试从同一服务器上的存储过程执行此包。有没有比 exec master..xp_cmdshell 'dtexec /SQL... 更好的方法...
我遇到了(我认为)xp_cmdshell 的文件系统权限问题,阻止了执行
【问题讨论】:
标签: sql-server stored-procedures ssis
我有一个存储在 SQL Server 2005 数据库中的 SSIS 包。我正在尝试从同一服务器上的存储过程执行此包。有没有比 exec master..xp_cmdshell 'dtexec /SQL... 更好的方法...
我遇到了(我认为)xp_cmdshell 的文件系统权限问题,阻止了执行
【问题讨论】:
标签: sql-server stored-procedures ssis
我建议改用代理:
sp_start_job 启动此作业缺点是您不能通过这种方式轻松地将参数从 SQL 传递到包。
【讨论】:
自 2012 年以来,MSSQL 有一个 SSIS 目录,您可以在其中将包停放在那里。然后,您可以执行带有参数的包。这样我们就可以避免xp_cmdshell调用dtexec,或者不带参数的sp_start_job。关键 SP:create_execution、set_execution_parameter_value 和 start_execution。
来自 MSDN:
To run a package on the server using SQL Server Management Studio
【讨论】: