源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-08-06 13:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:SQL server 表数据改变触发发送邮件的方法
今天遇到一个问题,原有生产系统正在健康运行,现需要监控一张数据表,当增加数据的时候,给管理员发送邮件。 领到这个需求后,有同事提供方案:[b]写触发器触发外部应用程序[/b]。这是个大胆的想法啊,从来没写过这样的触发器。 以下是参考文章: [b]第一种方法: 触发器调用外部程序[/b]。 xp_cmdshell [url=http://www.1sucai.cn/article/90714.htm]http://www.1sucai.cn/article/90714.htm[/url] 第一篇提供的方法是需要开启xp_cmdshell [b]先开启xp_cmdshell [/b] 打开外围应用配置器—> 功能的外围应用配置器—> 实例名\Database Engine\xp_cmdshell—> 启用 然后可以调用外部程序:Exec xp_cmdshell 'c:\calc.exe' 。 [b]第二种方法:[/b][b]将插入的值传给.bat 。[/b]同样使用调用外部程序的 xp_cmdshell 的权限 [url=http://www.sqlparty.com/%E9%A2%98%E7%82%BC/2013/08/05/e5-a6-82-e4-bd-95-e5-9c-a8-e6-9f-90-e8-a1-a8-e6-96-b0-e6-8f-92-e5-85-a5-e6-95-b0-e6-8d-ae-e6-97-b6-e8-a7-a6-e5-8f-91-e6-89-a7-e8-a1-8c-e5-a4-96-e9-83-a8-e7-a8-8b-e5-ba-8f-ef-bc-9f.html]http://www.sqlparty.com/%E9%A2%98%E7%82%BC/2013/08/05/e5-a6-82-e4-bd-95-e5-9c-a8-e6-9f-90-e8-a1-a8-e6-96-b0-e6-8f-92-e5-85-a5-e6-95-b0-e6-8d-ae-e6-97-b6-e8-a7-a6-e5-8f-91-e6-89-a7-e8-a1-8c-e5-a4-96-e9-83-a8-e7-a8-8b-e5-ba-8f-ef-bc-9f.html[/url] 其实第二种方法可以归为第一种。 [b]下面说说第三种方法: [/b] SQL servere CLR 这种方法可以利用VS给sql server 写存储过程和触发器。打开了VS不愁写代码给管理员发email。 [b]第四种方法:[/b] [b]SQL server Management -->Database Mail [/b] 开启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 
这种方法是最直接最简便的方法。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部