SSIS 包卡在 "Created Execution" 状态

SSIS Package Stuck at "Created Execution" Status

我最近为我的一个 SSIS 项目部署了一个更新,自从该项目失败后,它就按计划运行。

SSIS 包似乎停留在 "Created Execution" 状态。报告中没有任何消息来解释此问题。

我尝试重新部署项目,但结果还是一样。为了使系统重新联机,我最终不得不恢复到较早版本的部署,但我现在处于无法更新项目的位置。

我现在不知道如何解决这个问题,这个项目对我们的业务来说是一个相当重要的组成部分。

如有任何指导,我们将不胜感激。

为了对这个问题有一个实际的答案并且我自己 运行 进入这个非常令人沮丧的问题,问题在于 package/environment 参数。当包按计划 运行 时,如果未提供所需的包参数,SSIS 就……坐在那里。未报告任何错误,但程序包从未真正启动。

为所需参数提供值将解决此问题。

我发现如果新版本的软件包不再具有以前配置的参数,也会发生这种情况。我找到的唯一解决方案是在更新环境变量配置后重新创建作业步骤。不知何故,作业似乎 'remember' 不再存在的参数,并且实际上不会启动包,因为它认为缺少某些参数配置。

对于开发团队遇到这个问题的人,通过我们在数据库管理员端设置的存储过程触发 1000 多个错误的 SSIS 执行,导致内存过载...不遵循文档不能做太多.

在您的包中设置参数(如果它们未设置)。见 reference

EXEC [SSISDB].[catalog].[set_execution_parameter_value] id, object_type, parameter_name, parameter_value

如果你想启动它并在设置参数后将其设置为运行。

EXEC [SSISDB].[catalog].[start_execution] id

当且仅当包裹的状态保持在 status = 1 状态。参见 reference

还有如果包已经运行停止

EXEC [catalog].[stop_operation] id

如果你需要批量完成我所拥有的(正确设置参数)创建一个游标并根据包中的状态和问题做你需要做的事情(如果有有效的需要) 运行 和无效的需要结束它们的存在。

DECLARE id BIGINT

DECLARE < cursor > CURSOR FAST_FORWARD FOR
  SELECT * FROM [SSISDB].[catalog].[executions] WHERE [status] = 1

OPEN < cursor >
 FETCH NEXT FROM < cursor > INTO id

 WHILE @@fetch_status=0
 BEGIN
  ...
  Code for changes to SSIS packages
  ...
 END

CLOSE < cursor >
DEALLOCATE < cursor >

如果部署前不执行包,可能会报这个错。 您应该首先执行包然后部署。之后您可以启动 SQL 服务器代理作业。