我目前正在对SSIS包中的错误发送电子邮件通知。它目前工作。只是想检查这是否是正确的做法。 使用SSIS发送错误电子邮件通知
回答
我认为这个问题没有标准答案。但是这里有一些我能够想到的技巧。
首先,不是很确定你要发送出去,如果他们没有动态正文什么样的纯文本的,你可以把在event handlers
是send email task
权的Control flow, Data Flow...
选项卡,然后把那个on error
特定任务。其次,我个人不喜欢使用Failure
输出,您可能需要增加MaximumErrorCount
的数量,以便包可以成功执行,但有时真正的错误可能不会被检测到,因为与错误输出一起,总数错误编号仍然小于阈值。第三,如果您发送的是同一文本,并且您将其作为SQL Server Agent
中的作业进行安排,您可以转到Notifications
选项页面,设置Send Email
,基本上它会提供信息。
最后但并非最不重要的,Send Mail task
只支持纯文本,没有任何格式,如电子邮件通过html
& CSS
编码,如果你需要的格式考虑,可能不会是你的选择,你可以Script task
使用C#
使用或者通过使用XML
声明从SSMS
创建html
页并放入存储过程,然后通过Database Mail
发送出html
,您会在SSMS
的Management
文件夹中找到此工具。
如果您想要在发生任何错误时触发邮件任务,请考虑“事件处理程序”。
这SimpleTask文章提供了事件处理程序 https://www.red-gate.com/simple-talk/sql/ssis/ssis-event-handlers-basics/
的一个很好的概述SSIS事件处理程序打开的SSIS脚本到一个可靠的系统,该系统可审核的最简单的方法,反应适当地对错误条件,报告进展并允许检测和监测您的SSIS包。它们很容易实现,并提供很大的灵活性。
使用事件处理提供了一些好处 - 你不必连接每个任务的失败。系统会调用您的事件处理程序来查找错误。
另外,还要注意有感兴趣2个事件处理程序: 的OnError
OnTaskFailed
https://docs.microsoft.com/en-us/sql/integration-services/integration-services-ssis-event-handlers
OnError事件 - 发生错误时将引发此事件。
OnTaskFailed事件 - 该事件在任务失败时引发。
需要注意的一件事是,根据错误的数量,您可能会多次调用事件处理函数。
- 1. SSIS发送错误时发送电子邮件发送多个错误
- 2. 使用MailGun,通知 - Laravel发送电子邮件通知5.4
- 3. TeamCity不发送电子邮件通知
- 4. ClearCase:发送电子邮件通知
- 5. 从Jenkins发送电子邮件通知
- 6. 电子邮件通知发送或不
- 7. 通过电子邮件发送错误消息使用error_log()
- 8. SSIS发送电子邮件任务
- 9. asp.net的MVC发送电子邮件错误:无法发送电子邮件
- 10. Android - 电子邮件发送错误
- 11. PHP发送电子邮件GMAIL错误
- 12. PHP发送电子邮件错误
- 13. 错误尝试发送电子邮件
- 14. Drupal 7 - 发送错误电子邮件
- 15. Laravel 4.2发送电子邮件错误
- 16. 发送电子邮件的SMTP错误?
- 17. PowerShell的电子邮件错误发送
- 18. CakePHP 2.0发送电子邮件错误
- 19. .NET发送电子邮件的错误
- 20. Django电子邮件发送错误
- 21. SSIS使用send_dbmail发送包含错误记录的电子邮件
- 22. 通过电子邮件发送错误500而不发送垃圾邮件
- 23. 使用Team Foundation 2005发送电子邮件通知
- 24. 乘客错误发生时通过电子邮件通知
- 25. 500发送电子邮件通知时发生内部服务器错误
- 26. 通过Excel VBA发送电子邮件时发生错误-2147220975
- 27. 发送电子邮件错误:错误550,用户帐户[email protected]发送过多电子邮件
- 28. 使用Java邮件API向新用户发送电子邮件通知
- 29. 通过CRM 2011的普通用户发送电子邮件时发生电子邮件路由器错误
- 30. 使用excel发送IBM Lotus Notes电子邮件VBA从错误的电子邮件地址发送
您是否可以将其安排为'SQL Server Agent'中的工作? – LONG
确保红色约束是OR,而不是AND,否则只有在_everything_失败时才会发送电子邮件 –
像这样的问题更适合codereview.stackexchange.com –