SQL Server配置数据库邮件
需求描述
在生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等。如果发生异常,需要提前预警的,可以以发邮件告知,邮件作为一种非常便利的预警实现方式,在及时性和易用性方面也有着不可替代的优点。
所以,在本篇中将详细的分析下在SQL Server中邮件通知功能及使用方式等。 整个事件的核心就是配置邮件服务,这部分需要一个邮件账户以及相应的邮件服务器。下面以QQ邮件为例进行说明。
一、邮件服务设置
1、设置邮件服务器
邮箱设置-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
开启POP3/SMTP服务,点击开始,然后点击下方的【生成授权码】,会提示发送短信,然后获得的授权码就是数据库发送邮件帐号的密码。
2、配置数据库邮件
2.1 连接上数据库,管理-数据库邮件-右键-配置数据库邮件
2.2 在选择配置任务中,如果是新增选择【通过执行以下任务来安装数据库邮件】,如果是修改,可选择【管理数据库邮件账户和配置文件】
2.3 配置SMTP账户,如果已有SMTP账户,可在下方列表中看到;如果没有,点击添加即可。
2.4 新增数据库邮件账户
a. 账户名:可根据实际情况新增
b. 电子邮件地址:开通POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务的邮箱
c. 显示名称:可根据实际情况新增
d. 服务器名称:如果电子邮件地址是QQ邮箱,smtp.qq.com。
e. 此服务器要求安全连接(SSL),打勾。
f. 基本身份验证:用户名为电子邮箱地址;密码为授权码。
2.5 录入完成后,可看到smtp账户列表。
2.6 接下来需要选择安全公共配置,选中刚才配置的文件名,然后后面默认为配置文件,建议选“否”,可根据实际情况配置。
2.7 默认配置文件选“否”后,可根据实际情况修改系统参数。
3、测试数据库邮件。
3.1 在数据库界面测试,如下图
在收件人处输入收件人邮箱即可。
3.2 通过SQL脚本测试。
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Test', --配置文件名称
@recipients = '123@QQ.com', --收件email地址
@subject = '你好', --邮件主题
@body = '…' --邮件正文内容
二、实现JOB任务运行状态的检测
使用SQL Server时,很多情况下都需要自定义Job进行部分功能的实现,而大部分时间是采取凌晨或者非业务期进行工作。
因而Job的运行结果的检测便形成了一个需要跟踪的问题,比如有时候N个Job的运行,只有几个出现问题,并且不确定的此Job发生在那个机器上,所以自动化运维的重要性就不言而喻了。
对于上面问题的解决,SQL Server提供了很简单的配置便可以实现。
1、定义操作员
备注:
a. 姓名:操作员的姓名,可以是别名。
b. 电子邮件名称:邮箱的地址。
c. 寻呼值班计划:可根据实际情况设置时间
2、新建警报:定义警报属性等。
备注:
a. 名称:在JOB属性设置时会用到。
b. 数据库名称
这里面的严重性选项其实是一个很重要的功能,一些简单的问题警告有时候是不需要及时关注的,或者说不需要暂时处理的。但是有些问题则需要里面去解决,比如服务器宕等。
备注
a. 执行作业:如果有多个作业的话,需选择具体的作业;如新建,可点击新建作业按钮。
b. 通知操作员:选择需通知的操作员,可多个。
3、设置SQL Server代理,在属性中选择警报系统。
备注:
a. 选择是否启用配置文件,邮件系统选择了数据库邮件,邮件配置文件可选择具体的配置。
b. 启用防故障操作员
4、新建作业
5、运行结果
SQL Server数据功能还是很强大的,这里简单实现了发邮件的功能,当时还可以灵活运用。
SQL Server配置数据库邮件的更多相关文章
- SQL Server 创建数据库邮件
一. 背景 数据库发邮件通知数据库的运行状态(状态可以通过JOB形式获取)和信息,达到预警的效果. 二. 基础知识 msdb系统数据库保存有关Job,Database Mail,Nodifyicati ...
- [转]SQL Server 创建数据库邮件
本文转自:http://www.cnblogs.com/gaizai/p/3358958.html 一. 背景 数据库发邮件通知数据库的运行状态(状态可以通过JOB形式获取)和信息,达到预警的效果. ...
- SQL Server代理(4/12):配置数据库邮件
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在以前的文章里我们看到,SQL Serve ...
- 第四篇 SQL Server代理配置数据库邮件
本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Serve ...
- SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件
原文:SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件 从2005开始,就引入了"数据库邮件"功能.并且取代SQLMail.原有SQLMail ...
- 在 SQL Server 2005 中配置数据库邮件
一. SQL Server发邮件原理和组件介绍: 数据库邮件有4个组件:配置文件.邮件处理组件.可执行文件以及“日志记录和审核组件”. l 配置组件包括: 1)数据库邮件帐户包 ...
- 【译】第四篇 SQL Server代理配置数据库邮件
本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Serve ...
- SQL Server 2012 配置数据库邮件
发送和接受邮箱不能用QQ邮箱,可以用163网易邮箱,同时要求要发送邮件的计算机能上外网 查看163网易邮箱的发送和接收服务器的方法如下 在数据库的管理中,右击数据库邮件,选择配置数据库邮件 出现对话框 ...
- SQL Server 2008 数据库镜像部署实例之三 配置见证服务器
SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...
随机推荐
- svn 服务器搭建 ,采用http的方式加密用户。
1.1安装svn 1.环境 centos6.5 本地ip:192.168.2.154 2.安装 yum install subversion 查看版本 svnserve --version 3.创建版 ...
- Etcd安全配置之Basic Auth认证
<中小团队落地配置中心详解>文章中我们介绍了如何基于Etcd+Confd构建配置中心,最后提到Etcd的安全问题时说了可以使用账号密码认证以达到安全访问的目的,究竟该如何开启认证以及怎么设 ...
- centos6 free 和 centos 7的free 的差异与对比
目录 一 centos6 free 常用参数和含义 centos6 free 命令示例 free 值讲解 计算公式 二 centos7 free 常用的参数 centos7 free 命令示例 计算公 ...
- Linux-(top,free)
top命令 1.命令格式: top [参数] 2.命令功能: 显示当前系统正在执行的进程的相关信息,包括进程ID.内存占用率.CPU占用率等. top命令是Linux下常用的性能分析工具,能够实时显示 ...
- ibatis(sqlmap)中 #与$的使用区别
在sqlmap文件中不使用“#VALUE#”来原样(参数对应什么类型,就当什么类型,比如拼凑的内容为string则自动加上了‘’)读取,而是$VALUE$方式来读取,即不加任何的东西,比如单引号啥的, ...
- kafka-2.11-0.11集群搭建
kafka集群依赖于zookeeper,所以需要先搭建zookeeper集群,kafka默认自带了内建的zookeeper,建议使用自己外搭建的zookeeper,这样比较灵活并且解耦服务,同时也可以 ...
- weblogic:local class incompatible: stream classdesc serialVersionUID
问题:jdk版本不兼容 方法:修改weblogic对应的jdk版本
- bzoj 3600: 没有人的算术
Description Solution 我们可以给每一个数钦定一个权值 , 这样就可以 \(O(1)\) 比较大小了. 考虑怎么确定权值: 用平衡树来维护 , 我们假设根节点管辖 \([1,2^{6 ...
- 在iis搭建nuget server时遇到405 method not allow
<configuration> <system.webServer> <validation validateIntegratedModeConfiguration=&q ...
- Oracle11g密码过期处理方法
首先 查询密码有效期: SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIF ...