如今愈来愈多的企业、公司要求对于数据库实现7*24小时的数据库监控,通常状况下采用的就是第三方的平台来实现邮件和手机短信的监测提醒。前几日公司新上了一台服务器,急于部署程序还没来得及搭建其余相关平台,为了更好的监控数据库,暂时用SQL Server自带的邮件服务来实现对数据库的监控和预警。下面简要介绍下配置的过程便于之后使用。数据库
整个部分的核心就是配置邮件服务,这部分须要一个邮件帐户以及相应的邮件服务器。下面就以QQ的邮件为例进行说明。安全
1.设置邮件服务器服务器
开启SMTP服务,点击开启,而后点击下方的生成受权码,得到受权码就是数据库发送邮件帐号的密码。网络
2.配置数据库邮件性能
打开MSSM--》管理--》数据库邮件--》邮件配置数据库邮件—》以下选择测试
点击下一步后按照步骤123进行配置。代理
首先建立帐户以下:日志
使用建立的帐户做为配置帐户blog
接下来须要选择安全公共配置,选中刚才配置的文件名,而后后面默认为配置文件事件
而后,能够修改“配置系统参数”,好比帐户重试次数,禁止的附件文件扩展名,单击下一步,,默认配置便可:
都完成后会显示以下四个成功状态:
这样配置邮件服务就完成了能够右键“数据库邮件”点击测试邮件。也能够代码执行
--发送邮件
EXEC msdb.dbo.sp_send_dbmail @profile_name = 'XXXX', --配置文件名称 @recipients = 'XXX@QQ.com', --收件email地址 @subject = '你好', --邮件主题 @body = '…' --邮件正文内容
执行完毕后能够经过错误日志下面的邮件日志来查看详细状况。
若是收到了邮件那么就能够进行下一步对于数据库的监控了,这里介绍两种一种是job的指定监控还有一种是警报监控。
1.建立做业,核心就是在步骤中加入对指定数据的监测超过期触发通知。这里经过一个raiseerror 便可:
2.配置通知,当失败是发送电子邮件。
何为警报: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]复选框(可多选),
同时能够填写在发送警报的同时给出的通知消息,并可以对响应的间隔时间进行设定。
因为平时习惯了第三方平台的使用因此不多配置邮件服务,近日尝试一下之后发现若是服务器网络通畅或者内网服务完整,使用该服务仍是很方便的,并且毕竟是微软本身的东西对于不少指标的监控也比较快捷到位。须要主要的是该功能对于权限的要求比较高,有时候须要调整用户权限等等才能够正常发送邮件。当没有第三方发送预警平台时能够考虑这种方式,是很不错的体验。