【发布时间】:2015-05-11 15:20:59
【问题描述】:
我继承了几个 SSIS 包,这些包已被安排为 SSMS 中的作业,它们在 SSIS 包内部发送电子邮件通知。因此,如果某个 SSIS 包的某个特定部分失败,某些用户会收到一封电子邮件通知,其中包含失败和失败的详细信息。这适用于不依赖于其前面的包的失败或成功的单个包或 SSMS 作业。
我的问题和我的问题集中在我如何允许失败电子邮件通知在包中完成,但使包失败,以致 SSMS 作业中的步骤失败,以致其他步骤不会启动?有没有办法做到这一点,而不必撤消 SSIS 包内的所有失败通知并将这些失败通知移到其他地方?
我使用的是 SQL Server 2008-R2。
编辑:如果我只是让任务失败包,失败发送邮件任务将不会启动。
相反,我希望它这样做,
但捕获该包实际上是失败的。我可以按原样对包执行此操作,还是必须让包失败并重做所有包,以便以不同的方式发送失败通知。同样,这对于包含多个步骤的 SSMS 作业很重要,而不是对于单个包本身。
【问题讨论】:
-
您是否将 FailPackageOnFailure 设置为 true,并且对 FailParent 设置相同?见这里:stackoverflow.com/questions/9399999/…
-
但它并没有真正失败。如果我让它包失败,那么它会在那里被杀死,并且不会触发链接到失败约束的发送邮件任务。我需要单个任务失败,然后继续发送邮件任务失败。但是一旦发送邮件任务完成,包裹就会成功而不是失败。
-
已编辑问题,希望能包含您的问题的答案。
-
在“通知包失败”任务之后执行一个脚本任务,该任务只返回失败状态。在脚本任务上将 FailPackageOnFailure 设置为 true。
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。