SQL Server监控清单
SQL Server监控清单
一. 服务器
1. 状态监控
(1) 服务器是否可访问?
(2) 相应的数据库服务是否启用?
(3) 操作系统事件日志中的错误或告警
(4) 磁盘可用空间
服务器状态监控,不管使用第三方工具,还是使用自定义脚本,都建议部署在专门的一台/多台监控机上,因为如果服务器DOWN了或者故障了,任何本机的程序/脚本可能就无法运行了,从而也失去了监控的意义。
甚至有人想过在本机的SQL Server里写SQL语句来监视服务器状态,尽管可以实现,但是有点自相矛盾。也许,又会有这么一个思路,服务器正常时,SQL Server就发出邮件通知,如果没有收到邮件就说明服务器不正常了,可如果有很多服务器时,怎么知道谁没发邮件呢?
2. 性能监控
(1) IO压力
(2) 内存使用
(3) CPU使用
(4) 网络带宽占用
这1,2,3,4是按照容易出现瓶颈的顺序排列的,由于磁盘的读写速度限制,通常IO是最容易出现瓶颈的地方,我们所做的很多优化,也都是针对IO的,比如:索引优化,读写分离等等。
从DBA的角度来说,服务器的某些性能监控,如果可以的话,从数据库层来做倒也无妨。
二. 数据库
1. 状态监控
(1) 数据库可否打开 (数据库状态)
(2) 数据库备份有没有成功
(3) SQL Server/SQL Server Agent错误日志中的错误或告警
(4) SQL Agent 作业运行状态
(5) 数据库一致性检查的结果 (DBCC CHECKDB)
(6) 数据库还原测试的结果
以下几条状态监控,通常需要和系统平均值/基线值比较才有意义,否则没有告警的标准。
(7) 连接数、请求数、事务数
(8) 数据库/文件使用、大小、可用空间
(9) 表使用、行数、占用空间
2. 性能监控
(1) 有没有长时间运行的查询 (一般指没有被任何请求阻塞,效率很差的查询)
(2) 有没有被阻塞的查询 (可能单独运行很快,但和别的请求一起,由于有锁等待,耗时很长)
(3) 有没有死锁 (开发人员/用户口中说的”死锁” 通常是阻塞/等待,数据库死锁通常很少让用户感觉到等待,一般是请求被中断,因为被kill掉了)
(4) 有没有等待 (一般指各种资源的等待,等待和阻塞的交集就是锁等待)
(5) 有没有缺失的/未被使用的/效率不高的索引,以及索引碎片
(6) 有没有过期的统计信息
(7) 有没有数据库文件的争用 (比如:日志文件,tempdb争用)
(8) 有没有消耗CPU较大、IO读写较多的查询 (通常IO消耗大的,也就是内存消耗大的查询)
三. 其他
(1). 如果有部署高可用的策略,会有镜像、复制、日志传送、集群状态的监控;
(2). 某些业务数据有严格的一致性要求,业务数据的校验,最好也做在监控的告警里面;
(3). 对于数据库/实例的选项、参数设置,登录、用户、链接服务器等对象的可用性,通常在每年/每季度的health check里检查过就可以了,如果不放心,当然也可以放到监控的告警中来。
SQL Server监控清单的更多相关文章
- 0. SQL Server监控清单
数据库服务器的监控可大致分为两类: (1) 状态监控:数据库服务器有没有在健康地运行? (2) 性能监控:健康运行的同时,有没有性能问题?可不可以更快些? 一. 服务器 1. 状态监控 (1) 服务器 ...
- SQL Server 监控系列(文章索引)
一.前言(Introduction) SQL Server监控在很多时候可以帮助我们了解数据库做了些什么,比如谁谁在什么时候修改了表结构,谁谁在删除了某个对象,当这些事情发生了,老板在后面追着说这是谁 ...
- SQL Server监控报警架构_如何添加报警
一.数据库邮件报警介绍 数据库邮件是从SQL Server数据库引擎发送电子邮件企业解决方案,使用简单传输协议(SMTP)发送邮件.发送邮件进程与数据库的进程隔离,因此可不用担心影响数据库服务器. 数 ...
- SQL Server 监控 使用sp_trace_create
监控前言 上一节我们提到了MSSQL的基于SQL Event的监控,但是有些时候我们需要更加详细.适用于调优排错的监控.SQL Server内部运行的可见性是的查询调整.优化和综合排查成为可能!这一节 ...
- SQL Server ->>监控和管理Tempdb
Tempdb作为一个公共数据库,存储着一些临时的数据.有些是用户自己创建的,有些是SQL Server自己创建的.Tempdb空间被使用的一些常见场景有 用户自定义:临时表和表变量.游标. SQL S ...
- SQL Server 监控统计阻塞脚本信息
数据库产生阻塞(Blocking)的本质原因 :SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大.阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象. 但是阻塞的 ...
- SQL SERVER 监控数据文件增长情况
在项目前期评估数据库的增长情况,然后根据数据库数据量的增长情况来规划存储的分配其实是一件比较麻烦的事情.因为项目没有上线,用什么来评估数据库的数据增长情况呢? 如果手头没有实际的数据,我们只能从表的数 ...
- sql server监控图解
- SQL Server 监控系列 —— 二
http://www.cnblogs.com/bhtfg538/archive/2011/01/21/1939706.html
随机推荐
- [CLR via C#]1.2 将托管模块合并成程序集
原文:[CLR via C#]1.2 将托管模块合并成程序集 1.CLR是不和托管模块一起工作的,CLR是和程序集一起工作的. 2. 程序集是一个或多个托管模块/资源文件的逻辑性分组. 3. 程序 ...
- Redis 3.0集群搭建/配置/FAQ
·声明 1,已官网中文教程为基础,边看边学,结合环境现状搭建. 2,哥对Ruby不热爱.不熟悉.不感冒,所述内容如有疑义请谅解. 3,3.0官说集群还在测试中,其实用用也还算马马虎虎,对外集群API真 ...
- Coreseek/sphinx全文检索的了解
Coreseek/sphinx全文检索的了解 概述: 全文检索是一种将文件里全部文本与检索项匹配的文字资料检索方法,全文检索是将存储于数据库中整本书.整篇文章中的随意内容信息查找出来的检索.它能够依据 ...
- 项目管理实践 -- 健身小管家(Fitness housekeeper)的管理(4)
提前几天把检查更新的功能完成了.
- TypeScript入门
博客园首发,转载请注明出处,多谢支持.http://www.cnblogs.com/xuema/ 一.TypeScript TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaSc ...
- Android KeyStore Stack Buffer Overflow (CVE-2014-3100)
/* 本文章由 莫灰灰 编写,转载请注明出处. 作者:莫灰灰 邮箱: minzhenfei@163.com */ 1. KeyStore Service 在Android中,/system/bi ...
- WIN7远程桌面重启、关机
在使用远程桌面访问Win7系统时会发现一个小问题,在xp远程桌面中存在的重启和关机菜单在win7远程桌面中不见了,如图: 这也给我们的使用带来了一些小小的麻烦,但实际上微软依然保留了命令行的方式来实现 ...
- c++ 正則表達式
正則表達式是经常使用的一种方法.比較有名的类库是boost,可是这个类库在重了.全部就像找一些轻量级的类库. 后来发现准标准的库tr1已经非常方便了,微软vs2008 sp1 以上版本号都支持了.全部 ...
- linux服务创建及jq配置服务列表查看
1.应用背景 随着业务需求,后台处理服务不断增多,对于这些服务或后台程序的查看.更新操作越来越凌乱,所以我们首先需要一个服务列表查看工具,方便查看各 服务的端口.运行状态.jar包路径等等. 2.创建 ...
- Object Pool
设计模式之美:Object Pool(对象池) 索引 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):实现 DatabaseConnectionPool 类. 意图 运用对象池化 ...