SQL server 表数据改变触发发送邮件的方法
2019/6/30 17:04:52
本文主要是介绍SQL server 表数据改变触发发送邮件的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
今天遇到一个问题,原有生产系统正在健康运行,现需要监控一张数据表,当增加数据的时候,给管理员发送邮件。
领到这个需求后,有同事提供方案:写触发器触发外部应用程序。这是个大胆的想法啊,从来没写过这样的触发器。
以下是参考文章:
第一种方法: 触发器调用外部程序。 xp_cmdshell
//www.zyiz.net/article/90714.htm 第一篇提供的方法是需要开启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
这种方法是最直接最简便的方法。
这篇关于SQL server 表数据改变触发发送邮件的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-08Docker下的SqlServer发布订阅启用
- 2023-06-05Docker安装MS SQL Server并使用Navicat远程连接
- 2023-05-25深入浅出 SQL Server CDC 数据同步
- 2023-05-12通过空间占用和执行计划了解SQL Server的行存储索引
- 2023-04-24以SQLserver为例的Dapper详细讲解
- 2022-11-30SQL server高级函数查询
- 2022-11-26SQL SERVER数据库服务器CPU不能全部利用原因分析
- 2022-11-21SQL Server 时间算差值/常用函数
- 2022-11-20调试Archery连接SQL Server提示驱动错误
- 2022-10-22SQL Server 完整、差异备份+完整、差异还原(详细讲解,规避错误)