作业失败时,在SQL Server代理作业中向当前用户发送电子邮件

时间:2016-03-02 16:07:18

标签: sql-server email sql-server-agent

我有一个SQL Job,如果作业失败,我想发送电子邮件提醒。我知道,对于这个功能,我必须Configure Database Mail而不是Adjust the properties within the SQL Server Agent。本文提供了非常好的细节http://www.sherweb.com/blog/how-to-set-up-database-mail-for-sql-server-job-failures/

我想要的是,我想向当前用户发送电子邮件,而不是像person1@test.com那样为特定用户设置电子邮件地址。这种登录数据库并运行作业的方式会在作业失败时收到电子邮件。

如我所见,这种方法有两个好处, 一世。一个特定的用户不会被电子邮件淹没。 II。谁曾经在工作,可以知道工作失败了。

例如, 如果我设置person1@test.com和person2登录而不是作业失败,person1将收到一封电子邮件。我不希望这样。我有什么方法可以在SQL Server Agent Job设置中执行此操作。如果不是,我怎么能实现这个目标?

SELECT SYSTEM_USERSELECT SUSER_NAME()为我提供当前用户并将其用作外发电子邮件地址。

1 个答案:

答案 0 :(得分:0)

我认为您感到困惑,如果一个用户手动启动该作业,那么您使用STORE PROCEDURE就可以获得connected user信息。

pgAgent会自动运行该流程,并使用您在作业中设置的USER运行。