我有一个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_USER
或SELECT SUSER_NAME()
为我提供当前用户并将其用作外发电子邮件地址。
答案 0 :(得分:0)
我认为您感到困惑,如果一个用户手动启动该作业,那么您使用STORE PROCEDURE
就可以获得connected user
信息。
但pgAgent
会自动运行该流程,并使用您在作业中设置的USER
运行。