利用SQL Server数据库邮件服务实现监控和预警_MsSql

背景

现在越来越多的企业、公司要求对于数据库实现7*24小时的数据库监控,一般情况下采用的就是第三方的平台来实现邮件和手机短信的监测提醒。前几日公司新上了一台服务器,急于部署程序还没来得及搭建其他相关平台,为了更好的监控数据库,暂时用SQL Server自带的邮件服务来实现对数据库的监控和预警。下面简要介绍下配置的过程便于以后使用。

配置邮件

整个部分的核心就是配置邮件服务,这部分需要一个邮件账户以及相应的邮件服务器。下面就以QQ的邮件为例进行说明。

1.设置邮件服务器

开启SMTP服务,点击开启,然后点击下方的生成授权码,获得授权码就是数据库发送邮件账号的密码。

2.配置数据库邮件

打开MSSM---管理--》数据库邮件--》邮件配置数据库邮件—》如下选择

点击下一步后按照步骤123进行配置。

首先创建账户如下:

使用创建的账户作为配置账户

接下来需要选择安全公共配置,选中刚才配置的文件名,然后后面默认为配置文件

然后,可以修改“配置系统参数”,比如账户重试次数,禁止的附件文件扩展名,单击下一步,,默认配置即可:

都完成后会显示如下四个成功状态:

这样配置邮件服务就完成了可以右键“数据库邮件”点击测试邮件。也可以代码执行

发送邮件

EXEC msdb.dbo.sp_send_dbmail
 @profile_name = 'XXXX',   --配置文件名称
 @recipients = 'XXX@QQ.com', --收件email地址
 @subject = '你好',     --邮件主题
 @body = '…'   --邮件正文内容

执行完毕后可以通过错误日志下面的邮件日志来查看详细情况。如果收到了邮件那么就可以进行下一步对于数据库的监控了,这里介绍两种一种是job的指定监控还有一种是警报监控。

job自定义语句监控

1.创建作业,核心就是在步骤中加入对指定数据的监测超过时触发通知。这里通过一个raiseerror 即可:

2.配置通知,当失败是发送电子邮件。

 

2.警报监控[code]何为警报:MS SQL SERVER自动将发生的事情记录在Windows的程序日志中。SQL SERVER AGENT会自动监视由SQL SERVER记录的程序执行日志,如果找到符合定义的Action发生,将拉响响应事件的警报。

警报的机制如图

]

忘记哪里的图了

机制理解

要创建不同级别的警报,就必须得将错误写到Windows时间日志中。这个不难理解。因为在警报概念部分我们已经说了,SQL SERVER代理是从事件日志上读取错误信息。当SQL SERVER代理读取了事件日志并在此发现了新错误时,就会搜索整个数据库来寻找相应的警报。一旦SQL SERVER代理发现了Match的警报,将立即激活该警报,从而通知相关人员或者根据Job的设定来做出相应的反应。

简要配置如下,主要有三种监控类型:事件警报/性能警报/WMI警报,这里就不一一介绍了举例一个说明

可以选择警报类型,针对数据库和严重性中选择监测内容比如权限不足,当发生权限不足时报警:

 如下图所示,可以设定发生警报时向哪些操作员进行通知。点击新增操作员按钮,可以完成添加警报通知的操作员,选择电子邮件即可

 

如下图所示,可以设定警报错误发送的方式,可以选择[E-mail]、[Pager]、[Net send]复选框(可多选),同时可以填写在发送警报的同时给出的通知消息,并能够对响应的间隔时间进行设定。

 

总结

由于平时习惯了第三方平台的使用所以很少配置邮件服务,近日尝试一下以后发现如果服务器网络通畅或者内网服务完整,使用该服务还是很方便的,而且毕竟是微软自己的东西对于很多指标的监控也比较快捷到位。需要主要的是该功能对于权限的要求比较高,有时候需要调整用户权限等等才可以正常发送邮件。当没有第三方发送预警平台时可以考虑这种方式,是很不错的体验。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索sql
, 数据库邮件服务
Server邮件服务
sql server数据库监控、sqlserver数据库监控、mssql数据库、mssql数据库管理工具、php查询mssql数据库,以便于您获取更多的相关知识。

时间: 2024-09-04 03:26:01

利用SQL Server数据库邮件服务实现监控和预警_MsSql的相关文章

利用SQL Server数据库邮件服务实现监控和预警

背景 现在越来越多的企业.公司要求对于数据库实现7*24小时的数据库监控,一般情况下采用的就是第三方的平台来实现邮件和手机短信的监测提醒.前几日公司新上了一台服务器,急于部署程序还没来得及搭建其他相关平台,为了更好的监控数据库,暂时用SQL Server自带的邮件服务来实现对数据库的监控和预警.下面简要介绍下配置的过程便于以后使用. 配置邮件 整个部分的核心就是配置邮件服务,这部分需要一个邮件账户以及相应的邮件服务器.下面就以QQ的邮件为例进行说明. 1.设置邮件服务器 开启SMTP服务,点击开

SQL Server数据库邮件发送异常案例

  最近遇到两起关于SQL Server数据库邮件发送异常的案例,这些问题也有点意思,顺便记录一下.方便以后遇到类似问题的人参考,不要被这些问题弄得抓狂!   案例1:我们一台数据库服务器突然发送邮件都不行了,出现问题时,检查邮件发送记录,你会发现发送状态都是failed. SELECT * FROM msdb.dbo.sysmail_faileditems   SELECT * FROM msdb.dbo.sysmail_mailitems   检查Database Mail Log,你会发现

SQL Server 数据库索引其索引的小技巧_MsSql

一.什么是索引 减少磁盘I/O和逻辑读次数的最佳方法之一就是使用[索引] 索引允许SQL Server在表中查找数据而不需要扫描整个表. 1.1.索引的好处: 当表没有聚集索引时,成为[堆或堆表] [堆]是一堆未加工的数据,以行标识符作为指向存储位置的指针.表数据没有顺序,也不能搜索,除非逐行遍历.这个过程称为[扫描].当存在聚集索引时,非聚集索引的指针由聚集索引所定义的值组成,所以聚集索引变得非常重要. 因为页面大小固定,所以列越少,所能存储的行就越多.由于非聚集索引通常不包含所有列,所以一般

SQL Server 数据库分离与附加 就这么简单!_MsSql

一.概述 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用的"分离/附加"方法,类似于大家熟悉的"文件拷贝"方法,即把数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中.比如,在实验教学过程中,同学们常常想把自己在学校实验室计算机中创建的数据库搬迁到自己的计算机中而不想

SQL SERVER数据库的作业的脚本及存储过程_MsSql

IF EXISTS (SELECT name FROM sysobjects WHERE name = N'cg_DoBackupJob' AND type = 'P') DROP PROCEDURE cg_DoBackupJob GO CREATE PROCEDURE [cg_DoBackupJob] @DataBaseName varchar(100), @FileHead varchar(50), @isFullBackup bit, -- 0 差量备份 1 完整备份 @FolderPat

利用SQL Server发邮件

server|发邮件 SQL SERVER提供了通过EXCHANGE或OUTLOOK收发邮件的扩展存储过程,下面将这几个过程简单的介绍一下. 一.启动SQL Mail     xp_startmail @user,@password                    @user和@password都是可选的     也可打开Enterprise Manager中的Support Services,在SQL Mail上单击右键打开右键菜单,然后按Start来启动 二.停止SQL Mail   

利用SQL Server数据库快照形成报表

在SQL Server 2005中,它的另外一个强大的新特点是数据库快照.数据库快照是一个数据库的只读副本,它是数据库所有数据的映射,由快照被执行的时间点来决定它的内容. 这些数据库快照在报表方面是非常有价值,因为在快照数据库中或者在原数据库中,对于任何查询而言没有锁就将被执行.快照也可以使用在灾难恢复中,因为你可以将现有的数据恢复到现有的快照中,或者还可以在有害数据操作声明的事件中存储个别必要的表和数据. 数据库快照是如何工作的? 可以使用典型的数据库命令CREATE DATABASE语句来生

SQL Server数据库开发的二十一条法则_MsSql

在这里,我不打算介绍使用SQL Server的窍门,也不能提供一个包治百病的方案,我所做的是总结一些经验----关于如何形成一个好的设计.这些经验来自我过去几年中经受的教训,一直来,我看到许多同样的设计错误被一次又一次的重复. 一.了解你用的工具 不要轻视这一点,这是我在这篇文章中讲述的最关键的一条.也许你也看到有很多的SQL Server程序员没有掌握全部的T-SQL命令和SQL Server提供的那些有用的工具. "什么?我要浪费一个月的时间来学习那些我永远也不会用到的SQL命令???&qu

详解SQL Server数据库架构和对象、定义数据完整性_MsSql

前言 本节我们继续SQL之旅,本节我们如题来讲讲一些基本知识以及需要注意的地方,若有不妥之处,还望指出,简短的内容,深入的理解. 数据库架构和对象 数据库包含架构,而架构又包含对象,架构可以看做是表.视图.存储过程等对象的容器.架构是一个命名空间,它被用做对象名称的前缀,比如在Cnblogs的架构中有一个名称为Blogs的表,此时我们用架构式限定式名称(即两部分式对象名称)所以Blogs表示为Cnblogs.Blogs.如果我们引用对象时省略了架构名称,SQL Server将会检查对象是否存在用