可以使用SQL Server或SSIS发送有关表刷新的电子邮件吗?

时间:2018-10-25 04:28:54

标签: sql-server email ssis ssms

我很好奇,是否有可能在每天刷新表格时使用SSMS或SSIS发送自动电子邮件?我们有一个表记录一系列表的最后一次刷新-理想情况下每天进行一次。这样的想法是,如果人们不确定表中的数据是否被刷新(它来自实时的ERP),他们将不会使用/信任该表中的数据。抱歉,我含糊不清,但找不到解决问题的答案。现在有一个很少有人知道的网站,只是好奇微软是否有解决方案。

谢谢。

1 个答案:

答案 0 :(得分:0)

可能有一个SQL Agent作业或SSIS包发送电子邮件。如果选择SSIS,将使用“发送邮件任务”。在控制流中,将“发送邮件任务”放在数据流任务之后(或最后一步是什么)。您必须创建一个SMTP连接管理器,它是您的电子邮件服务器。这样做时,您可能只需要输入服务器的名称,例如mail.mydomain.com,或者您可以选中一两个复选框,具体取决于您的电子邮件服务器。

SMTP Connection Manager

在配置发送邮件任务时,选择刚创建的SMPT连接管理器。输入发件人地址,收件人地址,主题,邮件来源等。您只需输入所需的值即可。

Send Mail Task

如果您想花一点点,可以为其中的一些值创建表达式。例如,如果您希望电子邮件正文包含一些有关负载的详细信息,例如完成时间或行数,则可以轻松地做到这一点。一种方法是使用表达式填充消息正文,主题等。这是我在程序包中遇到错误时使用的表达式:

"Package start time: " + (DT_WSTR, 50) @[System::StartTime] +"\r\nEvent handler start time: " + (DT_WSTR, 50) @[System::EventHandlerStartTime] + "\r\nPackage running on: " + @[System::MachineName] + "\r\nPackage started by: " +  @[System::UserName] + "\r\nError code: "+ @[System::ErrorDescription] + "\r\nError description: " +  @[System::ErrorDescription]

它包括详细信息,例如程序包的名称,运行的计算机(以轻松识别发生错误的环境(Dev / QA / UAT / Prod)。

Send Mail Task Expressions