如果任何ssis包失败,请通过电子邮件通

时间:2015-09-15 09:08:29

标签: sql sql-server ssis

我们每天24小时不间断地在生产环境中安排工作。每次我们需要检查作业的状态是否已完成或失败时,我们必须执行查询。

我希望通过创建一个每15分钟运行一次的包来检查负载的状态来减少手动工作。如果有任何失败,则必须发送电子邮件通知。

我们创建了一个日志表,记录了包名,开始时间,结束时间和作业状态。

所以请告诉我是否有任何方法。

3 个答案:

答案 0 :(得分:0)

如果您搜索它,可以找到很多有关此内容的教程/博客文章。一些例子:

Link 1

Link 2

我们的方法是在作业中使用单个父SSIS包来运行所有其他子包,并且在OnPostExecute事件处理程序上有一个SQL任务,如果失败将触发存储过程发送e - 邮件详细说明失败。

答案 1 :(得分:0)

SSIS中的发送邮件将为您完成这项工作。

MSDN文章是here。使用“执行包”任务创建主包。配置该任务以运行正在运行的程序包。然后根据需要设置发送邮件任务。将先前contstraint设置为从执行包任务运行到发送邮件任务。右键单击该约束并更改为失败

然后,这将替换您现有的软件包,如果任务失败,则在运行时将发送电子邮件。

答案 2 :(得分:0)

您可以按照here配置数据库邮件,然后创建一个操作员,以便在作业失败或成功时通知您。

其他方法可以配置SSIS包事件处理程序,以便在触发Onerror事件时通知您。检查以下图像:

enter image description here

您必须创建SMTP连接并在发送邮件任务中使用它:

enter image description here