承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

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

管理员 2023-08-09 08:01:30 互联网圈 0 ℃ 0 评论 2522字 收藏

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

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

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

以下是参考文章:

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

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

先开启xp_cmdshell

打开外围利用配置器—>

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

实例名\Database Engine\xp_cmdshell—>

启用

然后可以调用外部程序:Exec xp_cmdshell ‘c:\calc.exe’ 。

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

http://www.sqlparty.com/%E9%A2%98%E7%82%BC/2013/08/05/e5-a6⑻2-e4-bd⑼5-e5⑼c-a8-e6⑼f⑼0-e8-a1-a8-e6⑼6-b0-e6⑻f⑼2-e5⑻5-a5-e6⑼5-b0-e6⑻d-ae-e6⑼7-b6-e8-a7-a6-e5⑻f⑼1-e6⑻9-a7-e8-a1⑻c-e5-a4⑼6-e9⑻3-a8-e7-a8⑻b-e5-ba⑻f-ef-bc⑼f.html

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

下面说说第三种方法:

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

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

文章来源:丸子建站

文章标题:SQL server 表数据改变触发发送邮件的方法

https://www.wanzijz.com/view/70174.html

相关文章

Related articles

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信