为sql作业配置电子邮件

问题描述:

我正在用一系列存储过程创建一个sql作业。这些程序可能导致错误或失败。 我想要做的就是每次发生错误时都能发送一封电子邮件。 我的问题是,我不知道如何配置这种方式,可以配置和运送到客户端。 我遵循本教程:set up email for sql server express为sql作业配置电子邮件

什么是最好的方式来配置电子邮件的作业SQL,可以由客户发货和配置。

EXEC msdb.dbo.sp_send_dbmail 
    @profile_name = 'Default', 
    @recipients = '[email protected]', 
    @query = ' 


    SELECT * FROM table 

    ' , 
    @subject = 'Email subject', 
    @attach_query_result_as_file = 0 

这是一个子任务从我的一个维护计划:

+0

我会从经验告诉你,这是一种处理错误的好方法。你最终会被错误信息淹没。两个(更好的)选项要考虑。只需登录到标准文本文件并查看该日志或记录到SQL Server数据库表。如果有电子邮件仍然需要每天发送一次电子邮件,如果有内容要看。 –

+0

@Tanner:非常感谢您的回复,但您提供的链接不是针对sql server express的解决方案,因为您无法从界面设置电子邮件功能。 – Claritta

+0

@FrankV:感谢您的回复,事情是这个程序中的错误非常重要,需要马上通知 – Claritta

我它使用的是SQL Express,但使用的是SQL 2008 R2标准我使用sp_send_dbmail像这样从来没有测试。该子任务仅在父任务失败时执行。

enter image description here

为了这一目标的工作,你必须先设置邮件配置文件,如您连接到您的文章的链接解释。

+0

感谢Julian,您所描述的与我正在做的类似。我已经在sql server上的系统数据库中设置了电子邮件配置文件。 但我不太明白如何将它们发送到客户端在他们自己的服务器上?我应该编写另一个存储过程作为我的sql作业的一部分,它将设置配置文件和发件人电子邮件帐户,以便在客户端的sql服务器上进行正确的设置?我的问题可能是微不足道的,但我仍然是存储过程和邮件的新手。 – Claritta