0. SQL Server监控清单】的更多相关文章

数据库服务器的监控可大致分为两类: (1) 状态监控:数据库服务器有没有在健康地运行? (2) 性能监控:健康运行的同时,有没有性能问题?可不可以更快些? 一. 服务器 1. 状态监控 (1) 服务器是否可访问? (2) 数据库服务是否启用? (3) 操作系统事件日志中的错误或告警 (4) 磁盘可用空间 2. 性能监控 (1) IO压力 (2) 内存使用 (3) CPU使用 (4) 网络带宽占用 这1,2,3,4是按照容易出现瓶颈的顺序排列的,由于磁盘的读写速度限制,通常IO是最容易出现瓶颈的地…
SQL Server监控清单 一. 服务器1. 状态监控(1) 服务器是否可访问?(2) 相应的数据库服务是否启用?(3) 操作系统事件日志中的错误或告警(4) 磁盘可用空间 服务器状态监控,不管使用第三方工具,还是使用自定义脚本,都建议部署在专门的一台/多台监控机上,因为如果服务器DOWN了或者故障了,任何本机的程序/脚本可能就无法运行了,从而也失去了监控的意义. 甚至有人想过在本机的SQL Server里写SQL语句来监视服务器状态,尽管可以实现,但是有点自相矛盾.也许,又会有这么一个思路,…
一.前言(Introduction) SQL Server监控在很多时候可以帮助我们了解数据库做了些什么,比如谁谁在什么时候修改了表结构,谁谁在删除了某个对象,当这些事情发生了,老板在后面追着说这是谁干的,如果你找不出元凶,那么就成为背黑锅的人了. 如果你想更了解什么时候需要对数据库做什么监控,那么我建议你看看本系列文章: 下图是一个关于SQL Server可用做监控功能的逻辑关系图: (Figure1:SQL Server可用做监控功能的逻辑关系图) 二.系列文章索引(Catalog) Ste…
一.数据库邮件报警介绍 数据库邮件是从SQL Server数据库引擎发送电子邮件企业解决方案,使用简单传输协议(SMTP)发送邮件.发送邮件进程与数据库的进程隔离,因此可不用担心影响数据库服务器. 数据库邮件发送要求联网,考虑数据库服务器的安全性,不能将所有服务器的外网开启:处理如下图所示:1.监控服务器轮询每个SQL数据库服务器:2.将获取的数据在监控服务器上集中处理,3.然后通过监控服务器的邮件服务发送邮件. 二.邮件模块处理 笔者发送的邮件内容如下所示,可分为个部分:1.发送主体(发生者)…
监控前言 上一节我们提到了MSSQL的基于SQL Event的监控,但是有些时候我们需要更加详细.适用于调优排错的监控.SQL Server内部运行的可见性是的查询调整.优化和综合排查成为可能!这一节主要和大家说说SQL Server跟踪(SQL Server Profile)的一些监控方式和途径. 使用场景     记得某次给一家公司调优的时候,负责人发给我一堆业务的T-SQL脚本,我面对海量脚本还是从容,虽然不了解内部复杂的业务,但是我们得专注问题的关键 "慢",我们根据查询的&q…
Tempdb作为一个公共数据库,存储着一些临时的数据.有些是用户自己创建的,有些是SQL Server自己创建的.Tempdb空间被使用的一些常见场景有 用户自定义:临时表和表变量.游标. SQL Server自己创建:快照事务级别(使用了行版本技术),触发器需要用到的inserted和deleted表,Hash Join需要用到一部分临时数据空间,执行计划中各种Spool操作符,索引重建指定SORT_In_tempdb选项. 差不多这些.那么Tempdb数据库必然是一个经常被使用的地方.怎么确…
最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgzl/p/8450179.html http://www.cnblogs.com/cgzl/p/8450409.html 这篇文章写的是使用mac(linux)/win10开发一个基于asp.net core 2.0 web api, angular 5, bootstrap 4, sql serve…
    数据库产生阻塞(Blocking)的本质原因 :SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大.阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象. 但是阻塞的时间和出现频率要控制在一定的范围内,阻塞持续的时间过长或阻塞出现过多(过于频繁),就会对数据库性能产生严重的影响.     很多时候,DBA需要知道数据库在出现性能问题时,有没有发生阻塞? 什么时候开始的?发生在那个数据库上? 阻塞发生在那些SQL语句之间? 阻塞的时间有多长? 阻塞发生的频率? 阻…
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 为Domain Model添加约束 前一部分, 我们已经把数据库创建出来了. 那么我们先看看这个数据库. 可以在项目里面建立一个database.sql, 并且建立一个数据库连接的profile(参考上一篇文章), 连接成功后执行下面语句: SELECT TABLE_NAME FROM tvdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE T…
在项目前期评估数据库的增长情况,然后根据数据库数据量的增长情况来规划存储的分配其实是一件比较麻烦的事情.因为项目没有上线,用什么来评估数据库的数据增长情况呢? 如果手头没有实际的数据,我们只能从表的数量以及预计一天的数据增长情况来预估数据增长量.当然这里猜测的成分较大.这个是非常不靠谱,也是不准确的.当然我们可以监控测试环境的数据库大小的增长情况来评估数据增长情况.我们可以监控数据库大小的变化来估计生产环境的数据增长情况.当然生产环境和测试环境的区别还是蛮大的.但是这样比那种瞎猜式的还是要靠谱得…