需求描述

在生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等。如果发生异常,需要提前预警的,可以以发邮件告知,邮件作为一种非常便利的预警实现方式,在及时性和易用性方面也有着不可替代的优点。

所以,在本篇中将详细的分析下在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配置数据库邮件的更多相关文章

  1. SQL Server 创建数据库邮件

    一. 背景 数据库发邮件通知数据库的运行状态(状态可以通过JOB形式获取)和信息,达到预警的效果. 二. 基础知识 msdb系统数据库保存有关Job,Database Mail,Nodifyicati ...

  2. [转]SQL Server 创建数据库邮件

    本文转自:http://www.cnblogs.com/gaizai/p/3358958.html 一. 背景 数据库发邮件通知数据库的运行状态(状态可以通过JOB形式获取)和信息,达到预警的效果. ...

  3. SQL Server代理(4/12):配置数据库邮件

    SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在以前的文章里我们看到,SQL Serve ...

  4. 第四篇 SQL Server代理配置数据库邮件

    本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Serve ...

  5. SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件

    原文:SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件 从2005开始,就引入了"数据库邮件"功能.并且取代SQLMail.原有SQLMail ...

  6. 在 SQL Server 2005 中配置数据库邮件

    一.            SQL Server发邮件原理和组件介绍: 数据库邮件有4个组件:配置文件.邮件处理组件.可执行文件以及“日志记录和审核组件”. l  配置组件包括: 1)数据库邮件帐户包 ...

  7. 【译】第四篇 SQL Server代理配置数据库邮件

    本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Serve ...

  8. SQL Server 2012 配置数据库邮件

    发送和接受邮箱不能用QQ邮箱,可以用163网易邮箱,同时要求要发送邮件的计算机能上外网 查看163网易邮箱的发送和接收服务器的方法如下 在数据库的管理中,右击数据库邮件,选择配置数据库邮件 出现对话框 ...

  9. SQL Server 2008 数据库镜像部署实例之三 配置见证服务器

    SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...

随机推荐

  1. svn 服务器搭建 ,采用http的方式加密用户。

    1.1安装svn 1.环境 centos6.5 本地ip:192.168.2.154 2.安装 yum install subversion 查看版本 svnserve --version 3.创建版 ...

  2. Etcd安全配置之Basic Auth认证

    <中小团队落地配置中心详解>文章中我们介绍了如何基于Etcd+Confd构建配置中心,最后提到Etcd的安全问题时说了可以使用账号密码认证以达到安全访问的目的,究竟该如何开启认证以及怎么设 ...

  3. centos6 free 和 centos 7的free 的差异与对比

    目录 一 centos6 free 常用参数和含义 centos6 free 命令示例 free 值讲解 计算公式 二 centos7 free 常用的参数 centos7 free 命令示例 计算公 ...

  4. Linux-(top,free)

    top命令 1.命令格式: top [参数] 2.命令功能: 显示当前系统正在执行的进程的相关信息,包括进程ID.内存占用率.CPU占用率等. top命令是Linux下常用的性能分析工具,能够实时显示 ...

  5. ibatis(sqlmap)中 #与$的使用区别

    在sqlmap文件中不使用“#VALUE#”来原样(参数对应什么类型,就当什么类型,比如拼凑的内容为string则自动加上了‘’)读取,而是$VALUE$方式来读取,即不加任何的东西,比如单引号啥的, ...

  6. kafka-2.11-0.11集群搭建

    kafka集群依赖于zookeeper,所以需要先搭建zookeeper集群,kafka默认自带了内建的zookeeper,建议使用自己外搭建的zookeeper,这样比较灵活并且解耦服务,同时也可以 ...

  7. weblogic:local class incompatible: stream classdesc serialVersionUID

    问题:jdk版本不兼容 方法:修改weblogic对应的jdk版本

  8. bzoj 3600: 没有人的算术

    Description Solution 我们可以给每一个数钦定一个权值 , 这样就可以 \(O(1)\) 比较大小了. 考虑怎么确定权值: 用平衡树来维护 , 我们假设根节点管辖 \([1,2^{6 ...

  9. 在iis搭建nuget server时遇到405 method not allow

    <configuration> <system.webServer> <validation validateIntegratedModeConfiguration=&q ...

  10. Oracle11g密码过期处理方法

    首先 查询密码有效期:   SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIF ...