sql server信息管理案例(利用SQL Server数据库邮件服务实现监控和预警)
sql server信息管理案例
利用SQL Server数据库邮件服务实现监控和预警背景
现在越来越多的企业、公司要求对于数据库实现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]复选框(可多选),同时可以填写在发送警报的同时给出的通知消息,并能够对响应的间隔时间进行设定。
总结
由于平时习惯了第三方平台的使用所以很少配置邮件服务,近日尝试一下以后发现如果服务器网络通畅或者内网服务完整,使用该服务还是很方便的,而且毕竟是微软自己的东西对于很多指标的监控也比较快捷到位。需要主要的是该功能对于权限的要求比较高,有时候需要调整用户权限等等才可以正常发送邮件。当没有第三方发送预警平台时可以考虑这种方式,是很不错的体验。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
- mysql慢日志查询会输出插入语句吗(MySQL三种日志有啥用?如何提高MySQL并发度?)
- mysql数据类型及用法(MySQL数据库重命名的快速且安全方法3种)
- sql stuff 函数
- SQL Server数据库备份的几种方式
- sqlserver2000显示无服务器(SQL SERVER 2000 9003错误的解决方法只适用于SQL2000)
- mysqlshell日常运维脚本(监控MySQL主从状态的shell脚本)
- sqlserver语句创建窗口布局(SQL Server 2012 开窗函数)
- sql server 2000数据库管理(SQL Server 2000/2005/2008删除或压缩数据库日志的方法)
- mysql实现数据的备份的命令(Windows下MySQL定时备份脚本的实现)
- centos7怎么安装mysql(Centos7 mysql数据库安装及配置实现教程)
- sqlserver表值函数用法(SQL Server数据库中的表名称、字段比较)
- mysql优化方案最新(记一次MySQL的优化案例)
- mysql字符集怎么看(mysql字符集相关总结)
- mysql添加注释视图(mysql创建表添加字段注释的实现方法)
- sql server convert 函数(sql server通过pivot对数据进行行列转换的方法)
- mysql超大表加字段(MySQL 大表添加一列的实现)
- 是不是快乐全被你拿走了(而是你得到的)
- 世界上只有妈妈好(世界上只有妈妈好的歌词)
- 为什么现在社会越来越卷了(现在社会为什么发展那么快呢)
- 直播带货能赚到很多钱吗(直播带货能赚到很多钱吗现在)
- 做网红真的很能赚钱吗(做网红真的很能赚钱吗)
- 10句英语常用(英语常用900句)
热门推荐
- python利用空列表进行数字排序(python实现计数排序与桶排序实例代码)
- web.config中customErrors的配置
- 微信浏览器中JS实现返回操作
- 如何获取html5表单中的元素的值(html5 datalist 选中option选项后的触发事件)
- ASP.NET方法重载
- tomcat作用及原理(详解Tomcat常用的过滤器)
- mysql数据表实例教程(mysql数据库入门第一步之创建表)
- 云服务器哪个最靠谱(云服务器哪家好?根据需求选配置才最好)
- python的pickle用法(Python multiprocess pool模块报错pickling error问题解决方法分析)
- sql server 报错(sql server利用不同语种语言显示报错错误消息的方法示例)