SQLServer数据库之sql server 警报管理及实时监听
小标 2019-05-24 来源 : 阅读 2449 评论 0

摘要:本文主要向大家介绍了SQLServer数据库之sql server 警报管理及实时监听,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

本文主要向大家介绍了SQLServer数据库之sql server 警报管理及实时监听,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

SQLServer数据库之sql server 警报管理及实时监听

MS SQL SERVER自动将发生的事情记录在Windows的程序日志中。SQL SERVER AGENT会自动监视由SQL SERVER记录的程序执行日志,如果找到符合定义的Action发生,将拉响响应事件的警报。 SQL SERVER主要监视以下几类事情:

  • SQL SERVER事件

  • 服务器/数据库性能条件

  • Windows management instrument事件(下文中简称:WMI)

警报对应上述3种事件,当事件发生时,将自动触发对应的事件。警报由名称、触发警报的时间或者性能条件、SQL SERVER代理响应事件或者性能条件所执行的操作这3个部分来完成。一个基本的警报包含以下内容:

错误号

SQL SERVER中大约有3000个可能出现的错误(SQL SERVER常见错误),每个错误都有自己的编号。在很多情况下程序开发可能产生不可预知的错误,在这些情况下,我们就需要New自定义错误号,并且针对这个事件产生一个警报

错误级别

程序里面,任何错误都是有Priority的,SQL SERVER中的每一个错误都有一个关联的严重级别,通过这个级别可以指示错误的挺严重性,可以按照不同的级别产生不同的警报。(这个道理很好懂的,拿原子弹炸老鼠(小题大做)的事情咱不干)

性能计数器

数据库用户可以从性能计数器中产生的相对应的警报,这些计数器对于用户数据库的各种性能具有良好的效果。


警报机制


创建警报

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

下面我们就依次创建事件警报/性能警报/WMI警报

创建事件警报

①  打开Sql Server Management Studio窗口,找到警报节点,如图


②  点击New Alert(创建警报)


注意:在窗口中可以对警报的基本属性进行设置。例如:在[Name]文本框中可以对警报的名称进行设置,从[Type]下拉列表框中可以对警报的类型进行设置,图中选择的Sql Server事件警报选项。在[Database Name]下拉框中可以选择执行警报的数据库(默认是所有数据库),同时可以使用[Error Number]可以指定警报对应的错误号,使用[Severity]可以选择预定义的警报。如果选择的严重级别在19~25之间,就会向Windows应用程序日志发送Sql server消息,并触发警报。

③  选择[Response]标签页,如下图所示,可以设定发生警报时向哪些操作员进行通知。单机[New Operator]按钮,可以完成添加警报通知的操作员


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


⑤  完成属性设置后,单机[OK]按钮完成警报的创建工作

创建性能警报


在性能警报创建页面,可以完成以下设置:

  • 在[Object]下拉框中可以设置性能警报针对的对象,like: 选择[Sql Server Database]选项设定性能警报针对的数据库

  • 通过[Counter]下拉框设置性能计数器的计数方式

  • 通过[Instance]下拉框设置性能计数器针对的数据库实例

  • 通过[Alert if counter]下拉框设置性能计数器触发的条件

接下来,就如同创建事件警报的步骤一样,设置[Response]标签页和[Options]标签页,完成设置后,单机[OK]按钮完成警报的创建工作

创建WMI警报

WMI警报帮助用户对本地和远程计算机进行管理。WMI通过编程和脚本语言为日常管理提供了一条连续一致的途径,用户通过WMI警报可以完成以下任务:

  • 在[Object]下拉框中可以设置性能警报针对的对象,like: 选择[Sql Server Database]选项设定性能警报针对的数据库

  • 远程启动计算机或在远程计算机上启动一个进程

  • 设定在特定日期和时间运行的进程

  • 获得本地或远程计算机已安装的程序列表

  • 查询本地或远程计算机的Windsows事件日志

WMI警报的创建和事件警报/性能警报创建类似,在[New Alert]窗口的[Type]下拉列表中选择[WMI event alert]选项,如下图所示

使用[Namespace]文本框的默认值\.\root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER,在[Query]文本框中输入如下语句:

SELECT * FROMDDL_DATABASE_LEVEL_EVENT WHERE Database='Test'

本文由职坐标整理并发布,希望对同学们学习SQL Server有所帮助,更多内容请关注职坐标数据库SQL Server数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 1
看完这篇文章有何感觉?已经有2人表态,50%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程