答案 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包的最简单方法。它们易于实现,并提供了很大的灵活性。
使用事件处理程序提供了一些优势 - 您无需连接每个任务的失败。系统将调用您的事件处理程序以查找错误。
另外,请注意有两个感兴趣的事件处理程序: 的OnError
OnTaskFailed
https://docs.microsoft.com/en-us/sql/integration-services/integration-services-ssis-event-handlers
OnError事件 - 发生错误时会引发此事件。
OnTaskFailed事件 - 该事件在失败时由任务引发。
需要注意的一点是,根据错误的数量,您可能会多次调用事件处理程序。