我最近在我的一个SSIS项目中部署了一个更新,并且自项目失败以来它已经预定了。
SSIS包似乎停留在"创建的执行"状态。报告中没有消息可以解释此问题。
我试图重新部署该项目,但结果仍然相同。我最终不得不恢复到早期版本的部署,以使系统恢复在线状态,但我现在处于无法更新项目的位置。
我现在对如何解决这个问题感到茫然,而这个项目对我们的业务来说是一个非常重要的组成部分。
任何指导都将不胜感激。
答案 0 :(得分:17)
为了对这个问题有一个实际的答案并且我自己遇到这个非常令人沮丧的问题,问题在于包/环境参数。当一个包按计划运行时,如果没有提供所需的包参数,SSIS只是......坐在那里。没有报告错误,但包实际上从未启动过。
提供所需参数的值将解决此问题。
答案 1 :(得分:0)
我发现,如果新版本的软件包不再具有先前配置的参数,也会发生这种情况。我发现的唯一解决方案是在更新环境变量的配置后重新创建作业步骤。作业似乎以某种方式“记住”了不再存在的参数,并且因为认为缺少某些参数配置而不会真正启动软件包。
答案 2 :(得分:0)
对于在开发团队中通过存储过程触发1000多个不良SSIS执行的问题,我们已经在数据库管理员端设置了该操作,从而导致内存过载...对于不遵循文档不能做太多事情。 / p>
如果未设置参数,则在软件包中设置参数。参见reference
EXEC [SSISDB]。[目录]。[set_execution_parameter_value] id,object_type,parameter_name,parameter_value
如果您希望启动它并在设置参数后使其运行。
EXEC [SSISDB]。[目录]。[开始执行] ID
当且仅当包装的状态保持为状态= 1状态时。参见reference
如果该软件包已经在运行以停止它,则还会出现
EXEC [目录]。[stop_operation] ID
如果您需要根据我的需要进行批量处理(正确设置参数),请创建一个游标,并根据状态和包中的问题执行您需要执行的操作,如果有需要运行的有效程序,需要结束其存在的无效行为。
DECLARE ID BIGINT
DECLARE <光标> CURSOR FAST_FORWARD FOR
SELECT *来自[SSISDB]。[目录]。[执行]位置[状态] = 1打开<光标>
获取下一个
从<光标> INTO IDWHILE @@ fetch_status = 0
开始
...
更改SSIS软件包的代码
...
结束关闭<光标>
取消分配<光标>
答案 3 :(得分:0)
如果您在部署前不执行包,可能会出现此错误。 您应该首先执行包然后部署。之后,您可以启动 SQL Server 代理作业。