合集-SQL Server数据库运维
摘要:前言 做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。 本系列旨在解决一些常见的困扰: 不知道巡检哪些东西 不知道怎么样便捷体检 机器太多体检麻烦 生成报告困难,无法直观呈现结果 SQL Server的日志信息往往反映出你的一些系统问题,那
阅读全文
摘要:昨天晚上突然接到客户的电话, 说在配置了镜像的生产环境数据库下修改 “已提交读快照” 选项的时候报错, 需要先取消镜像然后再重新搭建。悲催的是这是个近TB的数据库,问我有没有什么快速的方法。于是我就问客户为什么觉得时间长,他说重新搭建镜像的时候要先做完整备份然后再在镜像节点还原这个步骤会花费大量的时
阅读全文
摘要:运维人的神技 运维既是个技术活儿也是个苦差事,而运维人员被期望有着无限的技能:主机、存储、网络、操作系统样样精通,而且还要会写SQL、shell、开发语言java、.net、python等等,对业务更是门清,对各个用户的脾气喜好也要了如指掌。 除了广阔的知识面,强大的技术能力,沟通协调的能力,还需要
阅读全文
摘要:CPU问题定位基本流程: 性能计数器诊断 主要用到的性能计数器 %Process Time 全实例 (主要用于查看当前服务器的CPU 情况) %Process Time sqlservr (主要用于查看数据库使用的CPU情况 ) 主要用到的性能计数器 步骤1.排除应用影响CPU 步骤1.排除应用影响
阅读全文
摘要:记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的。这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例。 最近一直很忙,博客产出也少的可怜,今天整理了一下自己做过优化或各种方案的客户已经超过100家了,今天分享的案例算是在这些客户中比
阅读全文
摘要:前言 应用系统承载着大量的业务,随之而来的是复杂的业务逻辑,在数据库上的表现就是有着大量的不同种类的SQL语句。 SQL语句执行的快慢又与阻塞等待有着密不可分的原因。 系统慢可能有很多种原因,硬件资源不足,语句不优化,结构设计不合理,缺少必要的运维方式。所有的这些问题都可以在阻塞与等待中看出端倪,发
阅读全文
摘要:前言 本文旨在帮助SQL Server数据库的使用人员了解常见的问题,及快速解决这些问题。这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架。 下面一些问题是在近千家数据库用户诊断时发现的常规问题,本文分为【常见问题诊断流程】-【常见问题】-【常见问题快速解
阅读全文
摘要:背景 某医院信息科接到CIS系统磁盘空间不足告警,通过排查发现tempdb的日志文件暴增,已经涨到了130G左右,并且还在持续增长中。需要我们紧急排查原因。 现象 登陆到服务器里,确实看到了如上所说,D盘空间仅剩14.5G,并且tempdb的日志文件已经达到了130G 登录到SQL专家云,通过趋势分
阅读全文
摘要:背景 客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢。 现象 通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大说明等待的会话数越多。 进入活动会话列表,发现大量会话的状态为runnable,runnable代表这个会话可以执行,但没有 C
阅读全文
摘要:步骤1.TempDB压力诊断 等待类型诊断 TempDB的争用压力在等待篇中已经简单介绍,等待的表现为 pagelatch_类等待,等待的资源是 “2: X :X ” tempDB所在磁盘的响应时间 一个实例下只有一个tempdb,也就是当你在一个实例下创建了100个数据库,这100个数据库也只能用
阅读全文
摘要:前面很多篇不管CPU、内存、磁盘、语句等等等都提到了索引的重要,我想刚刚开始学数据库的在校学生都知道索引对语句性能的重要性。但他们可能不知道,对语句的重要性就是对系统的重要性! 开篇小测验 开篇小测验 下面这样一个小SQL 你该怎么样添加最优索引 你是否一眼就能看出来呢? 答案将在文章中逐步揭晓~~
阅读全文
摘要:重中之重 语句执行顺序 我们先看看语句的执行顺序 如果我没记错这是《SQL SERVER 2005技术内幕--查询》这本书的开篇第一章第一节。书的作者也要让读者首先了解语句是怎么样的一个执行顺序,因为不知道顺序何谈写个好语句? 查询的逻辑执行顺序: (1) FROM < left_table> (3
阅读全文
摘要:等待分类与解决基本流程: 步骤1.定位问题 系统等待往往能直观的反映出系统问题。通过一些常见的等待类型,同样可以找到系统瓶颈,结合性能计数器往往定位更准确。 步骤1.定位问题 如:系统中存在大量IO类等待,那么可能表示你的磁盘或内存是语句运行缓慢的原因,也是系统的瓶颈所在。 常见的等待类型 CXPA
阅读全文
摘要:磁盘问题定位基本流程: 磁盘的压力分析,主要使用下面几个性能计数器 (针对单独的物理盘,每个物理磁盘都会有一组): Avg. Disk Read Queue Length 读队列(越小越好,理想值 2 以下,队列越高说明一个操作的响应时间越长) Avg. Disk Write Queue Lengt
阅读全文
摘要:内存问题定位基本流程: 主要用到的性能计数器 Page life expectancy (数据库计数器:主要显示不被使用的页,将在缓存中停留的秒数 ) Lazy writes/sec (数据库计数器:惰性写入器会在内存有压力且有新的内存需求时触发,成批的刷新“老化的缓冲区”) Page Reads/
阅读全文
摘要:写在前面的故事 首先,给看官们讲个故事:最近遇到过一个客户,系统上线三年变的越来越慢,直到前几个月全面爆发,系统前端使用人员不断抱怨,甚至已经达到了不能使用的程度。这个时候他们的IT主管也是决策者无法忍受这种情况,就召集下面的运维开会,询问情况。 领导:现在系统这么慢,前端都无法使用了,到底什么情况
阅读全文
摘要:背景 客户反映HIS数据库在11点出现了长时间的阻塞,直到手动KILL掉阻塞的源头。请我们协助分析原因,最终定位到.NET程序中使用的SqlDataReader未正常关闭导致。 现象 登录SQL专家云,进入趋势分析,在活动会话中回溯11点一个小时内的运行情况,从11:28开始出现阻塞情况,一直持续到
阅读全文
摘要:背景 客户反馈数据库在上午10点时出现严重阻塞,阻塞源头会话在等待OLEDB,没有见过这个等待类型,请我们协助分析。 现象 登录SQL专家云,进入趋势分析,下钻到10点钟的活动会话,看到发生了两次严重的阻塞。 转到活动会话原始数据,看到阻塞的源头是会话331,正在执行UPDATE语句,阻塞了其它会话
阅读全文
摘要:客户反馈今天8点钟开始进入业务高峰期后,数据库的CPU利用率非常高,基本达到了100%,前端应用也非常慢。怀疑是昨晚业务系统升级导致,请我们紧急协助分析。
阅读全文
摘要:背景 客户反馈系统突然从11:10开始运行非常缓慢,在SQL专家云中看到大量的产生阻塞的活动会话,KILL掉阻塞的源头马上又出现新的源头,实在没有办法只能重启应用程序断开所有数据库连接才解决,请我们协助分析根本的原因。 现象 登录SQL专家云,进入趋势分析页面,下钻到11点钟内一个小时的数据,看到从
阅读全文