热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQLServerJob邮件发送

SQLServerJob邮件发送为了方便查看定时任务执行是否成功,同时能够及时发现存储过程中抛出的异常,采用发送邮件的方式来提醒这些问题。邮件设置

SQLServer Job 邮件发送

为了方便查看定时任务执行是否成功,同时能够及时发现存储过程中抛出的异常,采用发送邮件的方式来提醒这些问题。

邮件设置

  • 邮件服务器名称:smtp.qq.com
  • 端口号:587
  • 开启POP3/SMTP服务,产生第三方客户端授权码

说明

邮件采用QQ邮件,由于QQ邮件服务器要求安全链接(SSL),因此采用587端口,而不是25。具体设置如下:

步骤

1.进入QQ邮箱,找到设置>账户>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
这里写图片描述
2.开启POP3/SMTP服务,点击“生成授权码”,这会让发送短信验证
这里写图片描述
3.保存生成的授权码,这是在第三方软件上用的密码

SQLServer数据库配置

  • 数据库邮件配置
  • SQLServer代理 警报系统配置
  • 操作员配置
  • Job配置

说明

通过图形界面配置邮件信息,其实通过数据库提供的存储过程配置是一样的,邮件所用到表在msdb库中,具体操作如下表:

序号 表名称
1 sysmail_account
2 sysmail_attachments
3 sysmail_attachments_transfer
4 sysmail_configuration
5 sysmail_log
6 sysmail_mailitems
7 sysmail_principalprofile
8 sysmail_profile
9 sysmail_profileaccount
10 sysmail_query_transfer
11 sysmail_send_retries
12 sysmail_server
13 sysmail_servertype

步骤

一、数据库邮件配置
1.管理>数据库邮件>邮件配置数据库邮件
这里写图片描述
2.进入配置向导,点击下一步
这里写图片描述
如果为第一次配置,就选择第一选项就行,在点击下一步时,会提示邮件没有开启,点击确定开启。
这里写图片描述
3.建立配置配件
配置文件可以建立多个,需要配置每个配置文件名,可以对配置文件进行说明,点击添加,添加SMTP账户
这里写图片描述
这里写图片描述
4.SMTP邮件账户配置完,点击确定
这里写图片描述
点击下一步,进入到安全性配置,将公共复选框勾住,作为默认配置
这里写图片描述
点击下一步
这里写图片描述
5.配置完成
这里写图片描述

二、SQLServer代理 警报系统配置
1.开启服务代理
2.SQLServer代理,右键属性>警报系统>邮件会话>启用邮件配置文件,选择邮件系统:数据库邮件,邮件配置文件:JobMonitorProfile(刚刚配置的)
这里写图片描述
3.点击确定
4.重启服务代理(一定要重启)

三、操作员配置
1.开启服务代理
2.SQLServer代理>操作员>右键新建操作员>常规
这里写图片描述

Job配置
1.开启服务代理
2.SQLServer代理>作业>右键新建作业>通知,勾选电子邮件,选择操作员,选择作业完成、失败、还是成功发送邮件
这里写图片描述

SQLServer 邮件代码

下面为发送邮件的SQL,存储过程异常数据通过begin try……end try begin catch……end catch 存储到T_SYS_ExceptionLog表中,然后通过定时检索,如果有异常就发送邮件,代码如下

create procedure [dbo].[proc_Sys_ExceptionSendEmail]
as
/********************************
--function:异常数据发送邮件
--author:zhujt
--create date:2016-12-2 10:25:41
*********************************/
begin
    declare 
        @profileName varchar(100),
        @Html varchar(max);

    set @Html=''+
    (select'tds'+case ExceptionType when1then'数据定时生成' when2then'数据操作' end +'tde', 'tds'+ExceptionTitle+'tde','tds'+ExceptionMessage+'tde','tds'+Module+'tde','tds'+CONVERT(varchar(23),CreateDate,120)+'tde'from T_SYS_ExceptionLog
     where CreateDate>=CONVERT(varchar(10),DATEADD(DAY,-1,GETDATE()),120)+' 00:00:00'FOR XML PATH('tr'), ELEMENTS
    )
    +'
日志操作类型日志标题日志内容文件路径创建时间
';
select @profileName=name from msdb.dbo.sysmail_profile x where exists(select 1 from msdb.dbo.sysmail_principalprofile where profile_id=x.profile_id and is_default=0 ); if @profileName is not null and LEN(@profileName)>0 and @Html is not null and LEN(@Html)>0 begin set @Html=REPLACE(REPLACE(@Html,'tds',''),'tde',''); set @Html=''+@Html; exec msdb.dbo.sp_send_dbmail @profile_name = @profileName, @recipients = 'JobEmail@qq.com', @subject = 'JobEmail', @body = @Html, @body_format = 'HTML'; end end

推荐阅读
  • h5调用本地摄像头和麦克风一
    h5调用本地摄像头和麦克风一,Go语言社区,Golang程序员人脉社 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • Keepalived 提供了多种强大且灵活的后端健康检查机制,包括 HTTP_GET、SSL_GET、TCP_CHECK、SMTP_CHECK 和 MISC_CHECK 等多种检测方法。这些健康检查功能确保了高可用性环境中的服务稳定性和可靠性。通过合理配置这些检查方式,可以有效监测后端服务器的状态,及时发现并处理故障,从而提高系统的整体性能和可用性。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 在移动端开发中,多点触控手势是提升用户体验的重要手段。然而,目前只有iOS浏览器原生支持手势事件,其他设备需要通过touchstart、touchmove和touchend等基础事件进行自定义实现。本文将详细介绍如何在Vue项目中实现多点触控手势。 ... [详细]
  • 2023年最新指南:如何在PHP中屏蔽警告和错误
    本文详细介绍了如何在PHP中屏蔽警告和错误,包括多种方法和最佳实践,帮助开发者提升代码质量和安全性。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 【实例简介】本文详细介绍了如何在PHP中实现微信支付的退款功能,并提供了订单创建类的完整代码及调用示例。在配置过程中,需确保正确设置相关参数,特别是证书路径应根据项目实际情况进行调整。为了保证系统的安全性,存放证书的目录需要设置为可读权限。值得注意的是,普通支付操作无需证书,但在执行退款操作时必须提供证书。此外,本文还对常见的错误处理和调试技巧进行了说明,帮助开发者快速定位和解决问题。 ... [详细]
  • ClassList对象学习心得与表单事件非空校验技巧
    ClassList对象学习心得与表单事件非空校验技巧 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在配置Nginx的SSL证书后,虽然HTTPS访问能够正常工作,但HTTP请求却会遇到400错误。本文详细解析了这一问题,并提供了Nginx配置的具体示例。此外,还深入探讨了DNS服务器证书、SSL证书的申请与安装流程,以及域名注册、查询方法和CDN加速技术的应用,帮助读者全面了解相关技术细节。 ... [详细]
  • 深入探索HTTP协议的学习与实践
    在初次访问某个网站时,由于本地没有缓存,服务器会返回一个200状态码的响应,并在响应头中设置Etag和Last-Modified等缓存控制字段。这些字段用于后续请求时验证资源是否已更新,从而提高页面加载速度和减少带宽消耗。本文将深入探讨HTTP缓存机制及其在实际应用中的优化策略,帮助读者更好地理解和运用HTTP协议。 ... [详细]
author-avatar
情系50后_989
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有