- 浏览: 17657 次
- 性别:
- 来自: 北京
最新评论
文章列表
自从SQL Server 2005以来,微软已经提供了多种高可用性技术来减少宕机时间和增加对业务数据的保护,而随着SQL Server 2008,SQL Server 2008 R2,SQL Server 2012的不断发布,SQL Server中已经存在了满足不同场景的多种高可用性技术。
在文章开始之前,我首先简单概述一下以什么来决定使用哪一种高可用性技术。
依靠什么来决定使用哪一种高可用性技术?
很多企业都需要他们的全部或部分数据高可用,比如说在线购物网站,在线商品数据库必7*24小时在线,否则在竞争激烈的市场环境下,宕机时间就意味着流失客 ...
步骤1.TempDB压力诊断
等待类型诊断
TempDB的争用压力在等待篇中已经简单介绍,等待的表现为 pagelatch_类等待,等待的资源是 “2: X :X ”
tempDB所在磁盘的响应时间
前面很多篇不管CPU、内存、磁盘、语句等等等都提到了索引的重要,我想刚刚开始学数据库的在校学生都知道索引对语句性能的重要性。但他们可能不知道,对语句的重要性就是对系统的重要性!
开篇小测验
下面这样一个小SQL 你该怎么样添加最优索引
两个表上现在只有聚集索引
bigproduct 表上已经有聚集索引 ProductID
bigtransactionhistory 表上已经有聚集索引 TransactionID
重中之重---语句执行顺序
我们先看看语句的执行顺序
如果我没记错这是《SQL SERVER 2005技术内幕--查询》这本书的开篇第一章第一节。书的作者也要让读者首先了解语句是怎么样的一个执行顺序,因为不知道顺序何谈写个好语句?
查询的逻辑执行顺序:
(1) FROM < left_table>
(3) < join_type> JOIN < right_table> (2) ON < join_condition>
(4) WHERE < where_condition>
...
等待分类与解决基本流程:
步骤1.定位问题
系统等待往往能直观的反映出系统问题。通过一些常见的等待类型,同样可以找到系统瓶颈,结合性能计数器往往定位更准确。
如:系统中存在大量IO类等待,那么可能表示你的磁盘或内存是语句运行缓慢的原因,也是系统的瓶颈所在。
常见的等待类型
CXPACKET : 当尝试同步查询处理器交换迭代器时出现。如果针对该等待类型的争用成为问题时,可以考虑降低并行度。
IO_COMPLETION : 在等待 I/O 操作完成时出现。通常,该等待类型表示非数据页 I/O。
前言
本文旨在帮助SQL Server数据库的使用人员了解常见的问题,及快速解决这些问题。这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架。
下面一些问题是在近千家数据库用户诊断时发现的常规问题,本文分为【常见问题诊断流程】-【常见问题】-【常见问题快速解决的建议】
常见问题诊断流程
概览模块—[汇总]了解系统
了解系统性能(语句执行时间、会话等待)
磁盘问题定位基本流程:
磁盘的压力分析,主要使用下面几个性能计数器 (针对单独的物理盘,每个物理磁盘都会有一组):
Avg. Disk Read Queue Length 读队列(越小越好,理想值 2 以下,队列越高说明一个操作的响应时间越长)
Avg. Disk Write Queue Length 写队列(越小越好,理想值 2 以下,队列越高说明一个操作的响应时间越长)
Avg. Disk sec/Read
Avg. Disk sec/Write
Disk Read Bytes/sec
Disk Write Bytes/sec
...
CPU问题定位基本流程:
性能计数器诊断
主要用到的性能计数器
%Process Time 全实例 (主要用于查看当前服务器的CPU 情况)
%Process Time sqlservr (主要用于查看数据库使用的CPU情况 )
步骤1.排除应用影响CPU
前言
应用系统承载着大量的业务,随之而来的是复杂的业务逻辑,在数据库上的表现就是有着大量的不同种类的SQL语句。
SQL语句执行的快慢又与阻塞等待有着密不可分的原因。
系统慢可能有很多种原因,硬件资源不足,语句不优化,结构设计不合理,缺少必要的运维方式。所有的这些问题都可以在阻塞与等待中看出端倪,发现并解决问题。
今天这篇我们主要讲述怎么样发现并解决系统的阻塞和等待。
场景描述
您的系统是否有这样的问题?
系统运行缓慢,很多功能需要几十秒才能呈现结果,用户体验极差,领导们不断施压,作为系统的负责人,只知道系统慢又不
前言
做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。
本系列旨在解决一些常见的困扰:
不知道巡检哪些东西
不知道怎么样便捷体检
机器太多体检麻烦
生成报告困难,无法直观呈现结果
性能是系统好坏的重要指标之一,而性能问题可能是因为某一个小点而引起(如参数配置、作业配置、结构设计、软硬件环境等)。前面七篇文章从不同的方面对系统进行了巡检,本篇将介绍系列巡检中最重要的一项(性能)。
性能基线
性能巡检的指标非常多,情况变化也很大,所以对自己的系统应该建立起一套完整的性能评价模型,何为性能评价模 ...
前言
做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。
本系列旨在解决一些常见的困扰:
不知道巡检哪些东西
不知道怎么样便捷体检
机器太多体检麻烦
生成报告困难,无法直观呈现结果
日常的备份是运维人员的基本工作,保证备份策略完善,备份可用也是运维人员的重中之重。
概览检查
备份的检查是SQL专家云检查中的一大项,也可见备份的重要性,在【检查项】-【备份】页中,会针对备份的策略进行检查,当策略不合理则会给出警告。
前言
做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。
本系列旨在解决一些常见的困扰:
不知道巡检哪些东西
不知道怎么样便捷体检
机器太多体检麻烦
生成报告困难,无法直观呈现结果
SQL Server的日志信息往往反映出你的一些系统问题,那么巡检中药及时查看这些系统日志中的错误,并及时解决,这也是巡检的目的。
日志概览
在【检查项】-【全部】页中查看日志标签,当日志中发现错误,会给出警告。
前言
做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。
本系列旨在解决一些常见的困扰:
不知道巡检哪些东西
不知道怎么样便捷体检
机器太多体检麻烦
生成报告困难,无法直观呈现结果
SQL Server很多业务功能和数据库功能需要通过作业来完成(如之前说的备份,发布订阅等)。那么可以看出数据库作业执行的成功与否对整个系统也是至关重要的。大部分情况可以通过作业的邮件通知或监控功能来及时报警,同样在每次巡检中也要确认作业的运行是否正常。
作业日志
作业日志在SQL
前言
做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。
本系列旨在解决一些常见的困扰:
不知道巡检哪些东西
不知道怎么样便捷体检
机器太多体检麻烦
生成报告困难,无法直观呈现结果
日常的备份是运维人员的基本工作,保证备份策略完善,备份可用也是运维人员的重中之重。
概览检查
备份的检查是SQL专家云检查中的一大项,也可见备份的重要性,在【检查项】-【备份】页中,会针对备份的策略进行检查,当策略不合理则会给出警告。
前言
做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。
本系列旨在解决一些常见的困扰:
不知道巡检哪些东西
不知道怎么样便捷体检
机器太多体检麻烦
生成报告困难,无法直观呈现结果
前面两篇对服务器软硬件配置、数据库概况进行了巡检,下面我们要对数据库的一些结构设计进行检查,这些检查主要针对系统开发初期一些不优化的结构设计或在系统不断有新功能增加或运维变动而产生的结构变化。
物理结构概览
在【检查项】-【全部】中查看每个数据库的信息,当数据库结构未通过常规检查,平台会提示出警告。