开发者社区> 技术小甜> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SQL Server数据库告警改进

简介:
+关注继续查看

 考虑对生产环境所有SQL Server服务器开启数据库邮件功能,它是数据库自带的邮件发送功能,通过配置到邮件服务器的访问,及时接收SQL Server事件告警。

1.png


  SQL Server警报是基于引擎的事件通知机制发送告警,当事件发生时出发告警通知。

2.png

 

  现阶段,需要收集如下两类SQL Server事件告警:

  • Severity - 事件严重性级别1325告警;
    3.png

  • Error Number - 包括操作系统错误、IO错误、内存错误、AlwaysOn状态相关告警。
    4.png


策略调整


  我们考虑将这些需要监控的告警整合到应用程序日志,接入ELK日志分析系统。


  我们了解到,在下列情况下,SQL Server 和 SQL Server 应用程序产生的错误/消息将发送到Windows 应用程序日志:

  • 严重级别为 19 或更高的 sys.messages 错误

  • 任何使用 WITH LOG 语法调用的 RAISERROR 语句

  • 所有使用 sp_altermessage 修改或创建的 sys.messages 错误

  • 所有使用 xp_logevent 记录的日志事件

    引用自 https://docs.microsoft.com/en-us/sql/ssms/agent/create-an-alert-using-severity-level“Severity levels from 19 through 25 send a SQL Server message to the Microsoft Windows application log and trigger an alert. Events with severity levels less than 19 will trigger alerts only if you have used sp_altermessage, RAISERROR WITH LOG, or xp_logevent to force them to be written to the Windows application log. ”


针对上文提到、我们需要监控的Severity和Error Number告警,我们需要做如下变更调整:

  • Severity - 经过讨论,不记录严重级别19以下的用户级别的错误,19级别及以上的Fatal Error默认记录到应用程序日志,我们不用做任何更改。

  • Error Number - 需要监控的错误,根据附件的查询结果,部分错误号的is_event_logged字段为0,表示没有记录到应用程序日志。可以通过上面的sp_altermessage修改该字段为1达到记录到应用程序日志的目的。














本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/2050110 ,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一名小小的SQL Server DBA想谈一下SQL Server的能力
原文:一名小小的SQL Server DBA想谈一下SQL Server的能力 一名小小的SQL Server DBA想谈一下SQL Server的能力 百度上暂时还没有搜索到相关的个人写的比较有价值的文章,至少在中文网络的世界里面没有 但是在微软的网站有这样一篇文章:《比较 SQL Serve...
1246 0
0. SQL Server监控清单
原文:0. SQL Server监控清单 数据库服务器的监控可大致分为两类: (1) 状态监控:数据库服务器有没有在健康地运行? (2) 性能监控:健康运行的同时,有没有性能问题?可不可以更快些?   一.
963 0
01. SQL Server 如何读写数据
原文:01. SQL Server 如何读写数据 一. 数据读写流程简要SQL Server作为一个关系型数据库,自然也维持了事务的ACID特性,数据库的读写冲突由事务隔离级别控制。无论有没有显示开启事务,事务都是存在的。
1013 0
C#写SQL SERVER2008存储过程
在C#中,选择"新建项目"->"数据库"->"SQL Server"->"Visual C# SQL CLR 数据库" 在项目中,单击右键选择"添加"->"存储过程",代码如下(SalesCrossTabs.
662 0
哥安装sql server 2000的一些经验
1、解压SQLServer 2000.rar到电脑一个分区的根目录 2、默认进行安装,到下面的步骤时如下图进行相关的设置   选中 使用本地系统账户   选中 混合模式   运行查询分析器等时先开启sql服务器   3、哥在安装第二次sql server2000过程中出现的郁闷的问题 上图中,如果你安装第一次SQL SERVER2000后,会在C:\Program Files\Microsoft SQL Server生成一个 MSSQL$DYLI的目录,而使用其默认的卸载软件卸载时,不会卸载该文件夹。
769 0
如何检查SQL Server CPU瓶颈
--检测CPU压力的一个方法是计算运行状态下的工作进程数量,--通过执行如下的DMV查询可以得到这个信息 SELECT COUNT(*) AS workers_waiting_for_cpu,t2.
594 0
用SQL语句完成SQL Server数据库的修复
  使用数据库的过程中,由于断电或其他原因,有可能导致数据库出现一些小错误,比如检索某些表特别慢,查询不到符合条件的数据等。   出现这些情况的原因,往往是因为数据库有些损坏,或索引不完整。   在Access中,有个修复数据库的功能可以解决这个问题,在SQL企业管理器,没有这个功能,要用语...
860 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
SQL Sever迁移PG经验
立即下载
时序数据库TSDB新功能 - 如何用SQL进行时序查询
立即下载
用SQL做数据分析
立即下载