SQLServer 存储过程+定时任务发邮件
SQLServer 代理发邮件需要开启SQL Server 代理服务器,然后,在【管理】-【数据库邮件】中,右键点击配置数据库邮件。

我用的是腾讯的企业邮箱,个人的163邮箱略微不同。下图是相关邮件的配置


这是配置文件的配置。

配置完成之后,就把下边语句写成存储过程,之后,再配置定时任务,定时执行该存储过程,发邮件。
ALTER PROCEDURE [dbo].[LogErrorEmail] AS
declare @emailcontent nvarchar(2000);--邮件内容
declare @emailsubject nvarchar(200);--邮件主题
declare @emailadress nvarchar(100);--邮件发送地址
declare @error int; --错误数
declare @logfield nvarchar(max); --日志字段内容
declare @num int; --数据行数 set @error=0;
set @emailcontent='日期:'+convert(varchar(10),getdate(),120)+'<br>'; --tt1_log表检查
select @num=COUNT(*) from tt1_log where DATEDIFF(DD,t1_log.LOGDATE,getdate())<2
if(@num=2)
begin
select @logfield=LOG_FIELD from t1_log where DATEDIFF(DD,t1_log.LOGDATE,getdate())=0 --今天的数据
if(@logfield like '%error%')
begin
set @emailcontent=@emailcontent+'t1_log今天有错;' ;
set @error=@error+1;
end
select @logfield=LOG_FIELD from t1_log where DATEDIFF(DD,t1_log.LOGDATE,getdate())=1 --昨天的数据
if(@logfield like '%error%')
begin
set @emailcontent=@emailcontent+'t1_log昨天有错;' ;
set @error=@error+1;
end
end
else
begin
set @emailcontent=@emailcontent+'t1_log表数据不足两条;';
set @error=@error+1;
end --t2_log表检查
select @num= COUNT(*) from t2_log where DATEDIFF(DD,t2_log.LOGDATE,getdate())<2
if(@num=2)
begin
select @logfield=LOG_FIELD from t2_log where DATEDIFF(DD,t2_log.LOGDATE,getdate())=0 --今天的数据
if(@logfield like '%error%')
begin
set @emailcontent=@emailcontent+'t2_log今天有错;' ;
set @error=@error+1;
end
select @logfield=LOG_FIELD from t2_log where DATEDIFF(DD,t2_log.LOGDATE,getdate())=1 --昨天的数据
if(@logfield like '%error%')
begin
set @emailcontent=@emailcontent+'t2_log昨天有错;' ;
set @error=@error+1;
end
end
else
begin
set @emailcontent=@emailcontent+'t2_log表数据不足两条;';
set @error=@error+1;
end if(@error>0)
begin
exec msdb.dbo.sp_send_dbmail
@profile_name ='LogErrorEmail',--配置文件名称
@recipients='56789023@qq.com',--收件email地址
@subject=@emailsubject,--邮件主题
@body=@emailcontent, --邮件正文内容
@body_format='html' --邮件内容格式
end
SQLServer 存储过程+定时任务发邮件的更多相关文章
- 带着新人学springboot的应用10(springboot+定时任务+发邮件)
接上一节,环境一样,这次来说另外两个任务,一个是定时任务,一个是发邮件. 1.定时任务 定时任务可以设置精确到秒的准确时间去自动执行方法. 我要一个程序每一秒钟说一句:java小新人最帅 于是,我就写 ...
- spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,guava限流,定时任务案例, 发邮件
本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...
- Exec msdb.dbo.sp_send_dbmail 参数详解(SQL Server 存储过程发邮件)
转载oriency755 发布于2012-12-04 11:34:45 阅读数 6870 收藏 sp_send_dbmail [ [ @profile_name = ] 'profile_name ...
- SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享
SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...
- 使用SQLServer同义词和SQL邮件,解决发布订阅中订阅库丢失数据的问题
最近给客户做了基于SQLServer的发布订阅的“读写分离”功能,但是某些表数据很大,经常发生某几条数据丢失的问题,导致订阅无法继续进行.但是每次发现问题重新做一次发布订阅又非常消耗时间,所以还得根据 ...
- SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件
SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件 https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql ...
- Jenkins+Jmeter持续集成笔记(四:定时任务和邮件通知)
通过前几篇文章,jmeter+ant+jenkins自动化持续构建的测试平台基本成型.既然要自动化平台,最基本的肯定要实现不经过人工干预,平台会在特定的条件下自动运行测试脚本,并在脚本运行结束后,发送 ...
- 脚本监控web服务器,工作不正常发邮件提醒
背景介绍公司有多个web网站,没有配置监控服务,每天都需要定时检查服务器是否工作正常.低效耗时. 代码片段 #!/bin/bash # Author Jerry.huang (Email:Jerry. ...
- SqlServer存储过程详解
SqlServer存储过程详解 1.创建存储过程的基本语法模板: if (exists (select * from sys.objects where name = 'pro_name')) dro ...
随机推荐
- C语音输出前100个回文素数,每行10个,适当对齐
#include<stdio.h> #include<math.h> int ss(long n) { ); ) ; ;i<=sqrt(n);i++) ); ; } lo ...
- 自动化测试基础篇--Selenium元素定位
摘自https://www.cnblogs.com/sanzangTst/p/7457111.html 一.Selenium元素定位的重要性: Web自动化测试的操作:获取UI页面的元素,对元素进行操 ...
- MySQL多表更新的一个坑
简述 MySQL支持update t1,t2 set t1.a=2;这种语法,别的关系数据库例如oracle和sql server都不支持.这种语法有时候写起来挺方便,但他有一个坑. 测试脚本 dro ...
- visual studio 的git插件推荐
TGit 支持vs 2013/15/17及更高版本,需要搭配 TortoiseGit 和 MSysGit 一起使用,当然这两者也是我在windows下使用git的推荐组合. 历史版本的diff查看使用 ...
- 介绍一个比较了各种浏览器对于HTML5 等标准支持程度的网站
可以选择浏览器种类,版本,比较的功能 网站地址:https://caniuse.com/#comparison
- AndroidStudio2.2.x以上使用cMake编译调用底层c生成依赖库
最近使用AndroidStudio的最新ndk编译方式cMake来编译底层cpp文件,由于之前没有接触过cMake语法,先附上官方学习文档地址:https://developer.android.co ...
- 【2018.05.11 智能驾驶/汽车电子】非技术向:关于Simulink和AutoSar的几种观点
最近看到几篇关于Simulink及AutoSar的Blog和Paper,感觉比较有意思,转载备忘之. 1. 看衰Simulink及AutoSar From:Tumiz的技术天地 https://blo ...
- 聚类——WKFCM的matlab程序
聚类——WKFCM的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在聚类——WKFCM文章中已介绍了WKFCM算法的理论知识,现在用 ...
- Eclipse使用过程中的经验总结
1.Eclipse中如何配置JDK的Documents和Sources? "Windows"-> "Preferences"-> "Jav ...
- php面试题整理(四)
应该是group by username }