使用SSIS发送有关错误的电子邮件通知

时间:2017-07-14 11:49:46

标签: ssis

我目前正在SSIS包中实施错误发送电子邮件通知。它目前有效。只是想检查这是否是正确的方法。 enter image description here

2 个答案:

答案 0 :(得分:0)

我认为这个问题没有标准答案。但这里有一些我能够想到的提示。

首先,不太确定您尝试发送什么样的纯文本,如果他们没有动态文本正文,您可以将send email task权限放在event handlers权限Control flow, Data Flow... 1}}标签,并将on error用于特定任务。

其次,我个人不喜欢使用Failure输出,您可能需要增加MaximumErrorCount的数量,以便包可以成功执行,但有时可能无法检测到真正的错误,连同错误输出,总错误数仍然小于阈值。

第三,如果您要发送相同的文字,并将其安排为SQL Server Agent中的工作,则可以转到Notifications选项页面,设置Send Email,基本上将提供信息。

最后但并非最不重要的是,Send Mail task仅支持纯文本,而不支持html&编码的电子邮件等格式。 CSS,如果您需要考虑格式,可能不是您的选择,您可以使用Script task使用C#或使用{{1创建html页面来自XML的语句并放入存储过程,然后通过SSMS发送html,您会在{{1} Database Mail文件夹下找到此工具}}

答案 1 :(得分:0)

如果要在发生任何错误时触发邮件任务,请考虑“事件处理程序”。

这篇SimpleTask文章提供了对事件处理程序的非常好的概述 https://www.red-gate.com/simple-talk/sql/ssis/ssis-event-handlers-basics/

  

SSIS事件处理程序是将SSIS脚本转换为可审计的可靠系统,对错误条件做出适当反应,报告进度并允许检测和监视SSIS包的最简单方法。它们易于实现,并提供了很大的灵活性。

屏幕截图示例: enter image description here

使用事件处理程序提供了一些优势 - 您无需连接每个任务的失败。系统将调用您的事件处理程序以查找错误。

另外,请注意有两个感兴趣的事件处理程序: 的OnError

OnTaskFailed

https://docs.microsoft.com/en-us/sql/integration-services/integration-services-ssis-event-handlers

  

OnError事件 - 发生错误时会引发此事件。

     

OnTaskFailed事件 - 该事件在失败时由任务引发。

需要注意的一点是,根据错误的数量,您可能会多次调用事件处理程序。