• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 

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

    您可能感兴趣的文章:
    • 使用Python发送邮件附件以定时备份MySQL的教程
    • Python读取ini文件、操作mysql、发送邮件实例
    • sqlserver数据库使用存储过程和dbmail实现定时发送邮件
    • 使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)
    • sqlserver2008自动发送邮件
    • 通过sql存储过程发送邮件的方法
    • SQL Server 使用触发器(trigger)发送电子邮件步骤详解
    上一篇:在Sql Server中调用外部EXE执行程序引发的问题
    下一篇:SqlServer查询和Kill进程死锁的语句
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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