sqlserver 插入数据的触发器(SQL server 表数据改变触发发送邮件的方法)
sqlserver 插入数据的触发器
SQL server 表数据改变触发发送邮件的方法今天遇到一个问题,原有生产系统正在健康运行,现需要监控一张数据表,当增加数据的时候,给管理员发送邮件。
领到这个需求后,有同事提供方案:写触发器触发外部应用程序。这是个大胆的想法啊,从来没写过这样的触发器。
以下是参考文章:
第一种方法: 触发器调用外部程序。 xp_cmdshell
https://www.jb51.net/article/90714.htm 第一篇提供的方法是需要开启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-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
其实第二种方法可以归为第一种。
下面说说第三种方法:
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
这种方法是最直接最简便的方法。
- mysql内部有4种常见日志(MySQL 慢日志相关知识总结)
- sql server中sleeping状态
- 怎么用docker中的mysql连接数据库(解决Docker之mysql容器数据库更改不生效的问题)
- mysql的null值跟空值(你知道mysql中空值和null值的区别吗)
- dedecms在哪添加产品目录(dedecms的sql标签中传入参数的方法)
- sqlserver带参数的存储过程(SQL Server 日期和时间的内部存储过程)
- 怎么查看mysql异常链接(MySQL 查看链接及杀掉异常链接的方法)
- sqlserver查看某个库所有表(SQL Server怎么找出一个表包含的页信息Page)
- mysql的默认事务隔离级别(啥是 MySQL 事务隔离级别?)
- sqlserver调试存储过程(sql server2008调试存储过程的完整步骤)
- sql server2008如何升级到2012(MS sqlserver 2008数据库转换成2000版本的方法)
- mysql分区表的优缺点(MySQL数据表分区策略及优缺点分析)
- mysql 双主双备(MySQL配置了双主,是如何避免出现数据回环冲突的)
- 最新版MySQL 8.0.22下载安装超详细教程(Windows 64位)(最新版MySQL 8.0.22下载安装超详细教程Windows 64位)
- mysqlupdate语句用法(MySQL update set 和 and的区别)
- mysql水平拓展的瓶颈(MySQL令人大跌眼镜的隐式转换)
- ()
- 网友很惭愧,自己写了很多年的字,到头来还不如一名小学生写的好(自己写了很多年的字)
- 中华第一楷 张瑞龄 86岁高龄,苦练楷书71年,一幅字卖593万(中华第一楷张瑞龄)
- 冯骥才 年意(冯骥才年意)
- ()
- 百事大吉蓝底 绿底手机高清壁纸(绿底手机高清壁纸)
热门推荐
- python3 for循环怎么用(Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解)
- ios如何播放html5(Html5移动端适配IphoneX等机型的方法)
- mysql根据子节点查询父节点(mysql 递归查找菜单节点的所有子节点的方法)
- 网站自动备份工作简报(网站数据自动备份方法)
- JS脚本中Null与Undefined的区别
- linux telnet命令使用(Linux telnet命令的使用)
- php脚本控制方法(php swoole多进程/多线程用法示例基于php7nts版)
- 免费的云服务器是什么(云服务器是什么?云服务器贵不贵呢?)
- SQL如何操作Xml字段
- js弹出框代码(js实现自动锁屏功能)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9