当前位置: 移动技术网 > IT编程>数据库>MSSQL > SQL server 表数据改变触发发送邮件的方法

SQL server 表数据改变触发发送邮件的方法

2017年12月08日  | 移动技术网IT编程  | 我要评论

邹市明回应上诉再次失败,初中生评语大全,ca4194

今天遇到一个问题,原有生产系统正在健康运行,现需要监控一张数据表,当增加数据的时候,给管理员发送邮件。

领到这个需求后,有同事提供方案:写触发器触发外部应用程序。这是个大胆的想法啊,从来没写过这样的触发器。

以下是参考文章:

第一种方法: 触发器调用外部程序。 xp_cmdshell

第一篇提供的方法是需要开启xp_cmdshell

先开启xp_cmdshell

打开外围应用配置器—>

功能的外围应用配置器—>

实例名\database engine\xp_cmdshell—>

启用

然后可以调用外部程序:exec xp_cmdshell 'c:\calc.exe' 。

第二种方法:将插入的值传给.bat 。同样使用调用外部程序的 xp_cmdshell 的权限


其实第二种方法可以归为第一种。

下面说说第三种方法:

sql servere clr

这种方法可以利用vs给sql server 写存储过程和触发器。打开了vs不愁写代码给管理员发email。

第四种方法:

sql server management -->database mail

开启database mail 之后,配制好发邮件的设置,直接写触发器就可以把插入的内容通过sql server 发送出来了。

create trigger tri_email 
on [dbo].[imagegalleries]
after insert
as
begin
if exists(select * from inserted)
begin
declare @content nvarchar(max)
select @content=i.name+'|'+i.imagepath from inserted i;
exec msdb.dbo.sp_send_dbmail @profile_name='sqlprofile',
@recipients=243594541@qq.com',
@subject='sql server send email by trigger',
@body=@content
end
end
go 

这种方法是最直接最简便的方法。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网