插入触发器后如何使用发送电子邮件

时间:2012-09-26 12:33:44

标签: asp.net sql sql-server sql-server-2008

我想在将新数据插入我的sql server数据表后发送电子邮件警报。我怎么能这样做?

我试过跟随触发器,但我不确定它的功能。

CREATE TRIGGER dbo.sendMail 
   ON  dbo.staff_leaves
   AFTER INSERT
AS 
BEGIN

    SET NOCOUNT ON;
    EXEC msdb.dbo.sp_send_dbmail
          @to = 'whoever@yourcompany.com', 
          @profile_name = 'default',
          @subject = 'New Row', 
          @body = 'Yep, they sure were.';

END
GO

任何人都请解释我如何做到这一点。

1 个答案:

答案 0 :(得分:1)

你写道,你不是很确定功能,但不清楚是什么让你不确定。你做过试运行吗?

我建议查看sp_send_dbmail的MSDN页面,该页面提供了几乎相同的代码示例,并且还包含许多其他提示。例如,MSDN建议:

  

使用前,必须使用数据库邮件启用数据库邮件   配置向导,或sp_configure。

  

sp_send_dbmail的执行权限(必需)默认为。的所有成员   msdb数据库中的DatabaseMailUser数据库角色。但是,当   发送邮件的用户无权使用该配置文件   对于请求,sp_send_dbmail返回错误并且不发送   消息。

可以在Database Mail set up in SQL Server 2008

找到分步说明