SSIS包属性“ForceExecutionResult”无法按预期工作

时间:2011-05-19 03:43:24

标签: ssis

我在SSIS包/任务设置中遇到了一些问题。

我有通过Sql server(SSIS Package)运行的每日计划任务。 在工作任务中包含几步。

问题是“SendMail任务”有时会失败。 有时邮件服务器已关闭。如果SendMail任务错误,因为服务器关闭。 由于包返回失败,所有包都无法正常运行。

这是我试图测试的。

我创建了一个在VS2008中测试的简单包 在包中包含两个SendMail任务。 第一个是完整的任务(正确配置每件事)。 第二个是失败任务(我设置了错误的接收电子邮件地址)

在第二个任务中我设置了属性 -MaxiMumErrorCount - >从1 - > 20 -ForceExcutionResult - >来自“无” - > “成功”

当我从VS2008执行包时看起来很好。一切还好。 包退回成功结果。

但是当我在SQL Server作业(代理)中创建作业计划任务时。 并测试运行包。包仍然返回失败。我对这个案子很困惑。 而且我不想在包属性中将“ForceExcutionResult”值设置为“Success”。 我只是希望即使Email任务失败也可以运行包。 我该怎么做才能解决这个问题?

Thanapat.s

1 个答案:

答案 0 :(得分:5)

我发现了一些非常有用的链接并使用错误事件处理程序解决了它(因为在我的情况下,如果任务失败,我想发送电子邮件,但是在没有包失败的情况下继续执行)。

所以,我创建了一个事件处理程序,让它强制执行完成(你可以强制成功)但是让它不失败的关键是:

  1. 系统变量“Propagate”在我的事件处理程序中设置为false。
  2. MaximumErrorCount在任务本身中设置为0。这是没有包失败的关键。
  3. 感谢: How to avoid SSIS FTP task from failing when there are no files to download?

    答案链接到: http://sqlblog.com/blogs/rushabh_mehta/archive/2008/04/24/gracefully-handing-task-error-in-ssis-package.aspx

    这让我来到这里: http://agilebi.com/jwelch/2008/06/29/continuing-a-loop-after-an-error/#comment-57484

    哪个有效!