我有一个数据流任务,后面是SSIS 2012包控制流程中的三个任务。部分数据流是RowCount转换,它将User :: RowCount设置为从数据源传递到目标的行数。退出数据流后,有三个任务:
电子邮件任务 - 如果Success和User :: RowCount> $ Project :: RowCount_Threshold,则运行此任务。此任务运行,我收到一封电子邮件(阈值设置为1进行测试,所以我总是收到一封电子邮件)。
第二个电子邮件任务 - 仅当数据流中的辅助任务检测到值超过不同阈值的行时,才会运行此任务。如果“问题”(另一个用户变量)的计数超过$ Project:Issue_Threshold,那么我会收到一封电子邮件。因此执行此任务的条件是Success以及Issue_Count与Issue_THreshold的比较。这不会运行,因为我现在已将阈值设置为高。
最后一项任务采用User :: RowCount,并通过一个带有简单参数化SQL INSERT的执行SQL任务将其插入到日志表中。此任务仅基于Success运行,因此每次都应运行。
我的问题是,当我运行数据流运行包时,User :: RowCount被设置为目标中插入的行数,但是当数据流完成时,只运行第一个任务。我收到插入了#行的电子邮件。第二项任务不应该根据条件运行,也不应该运行。第三项任务应始终运行,但从不这样做。我没有收到任何消息,它只是没有运行。
这些任务在数据流任务之后被配置为并行任务。
我已经尝试了一切,但未能弄清楚为什么任务#3没有运行。有什么想法吗?
数据流和以下任务的图片:
“日志记录计数”任务是未运行的“执行SQL”任务。
答案 0 :(得分:1)
我将此添加为答案:
看起来log record count
已被禁用。看看它有点灰色
我必须告诉你,这不只是你的显示器,很难看出差异。 SSIS团队在改进可用性的调试图标方面做得很好,但是这种禁用的东西需要更加明显。为它进行连接,我将投票。
米