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

作者:sunshine静 时间:2024-01-23 02:15:48 

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

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

以下是参考文章:

第一种方法: 触发器调用外部程序。 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

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

来源:http://www.cnblogs.com/sunShineJing/p/5780707.html

标签:sql,触发,发送邮件
0
投稿

猜你喜欢

  • Ubuntu自启动Mysql的三种方式

    2024-01-15 22:51:41
  • pandas的qcut()方法详解

    2022-07-23 03:36:21
  • Python中处理时间的几种方法小结

    2021-03-15 17:58:33
  • mysql运行net start mysql报服务名无效的解决办法

    2024-01-17 06:12:15
  • python3下实现搜狗AI API的代码示例

    2022-04-11 09:30:58
  • Python访问MySQL封装的常用类实例

    2024-01-16 01:43:42
  • pycharm 复制代码出现空格的解决方式

    2023-08-27 12:36:37
  • 最常用的PHP正则表达式收集整理

    2024-05-03 15:34:56
  • go使用consul实现服务发现及配置共享实现详解

    2024-04-23 09:48:01
  • K近邻法(KNN)相关知识总结以及如何用python实现

    2022-07-15 17:10:45
  • python验证码识别的示例代码

    2023-08-04 03:20:24
  • python程序中的线程操作 concurrent模块使用详解

    2021-08-28 00:27:39
  • 超半数中文网页一年内将“消失”

    2008-03-08 12:49:00
  • Python详解复杂CSV文件处理方法

    2021-04-05 11:12:02
  • Python边缘检测之prewitt,sobel和laplace算子详解

    2023-09-30 06:01:56
  • 搭建一个开源项目两种方式安装git的详细教程

    2022-10-24 13:04:55
  • python实现超简单端口转发的方法

    2022-12-25 04:00:53
  • 关于Torch torchvision Python版本对应关系说明

    2021-06-17 09:13:52
  • tensorflow实现训练变量checkpoint的保存与读取

    2023-12-15 18:10:33
  • 在IntelliJ IDEA中使用Java连接MySQL数据库的方法详解

    2024-01-27 06:56:35
  • asp之家 网络编程 m.aspxhome.com