【转】Microsoft® SQL Server® 2012 Performance Dashboard Reports

http://www.cnblogs.com/shanyou/archive/2013/02/12/2910232.html

SQL Server Performance Dashboard Reports是一组Reporting Services的报表,和SQL Server Management Studio中所介绍的报表一起使用。这些报表允许数据库管理员快速地确定他们的系统中是否存在瓶颈,瓶颈是否正在发生,捕获这些附加的诊断数据可能会对解决问题更有帮助。例如,系统正在等待disk IO,这是Dashboard就允许用户可以快速地查看哪一个session,session中的哪一个查询计划,查询计划中哪一条语句最消耗IO。

Performance dashboard可以帮助解决一些普遍的性能问题,包括:

-CPU瓶颈问题(什么查询最消耗CPU) -IO瓶颈问题(什么查询最消耗IO)    -由查询优化器产生的索引推荐方案(未使用索引)    -阻塞问题    -Latch竞争问题

SQLServer2005的性能工具Performance Dashboard是新添加到SQLServer2005的并在SP2发布之后不久就可用的一款扩展工具。具体的安装参看 [原]安装SQL Server 2005 Performance Dashboard Reports的技巧。SQL Server 2008/2008 R2/2012的Performance Dashboard报表可以从这里下载最新的工具包: Microsoft® SQL Server® 2012 Performance Dashboard Reports

这些捕获到报表中的信息源于SQL Server的动态管理视图,它不需要额外的跟踪或数据捕获,信息一致可用,所以它是一个不怎么消耗资源的一种管理服务器的方法。

Reporting Services对于使用Performance Dashboard报表并不是必须要安装的。

1、下载 SQL Server 2008/2008 R2/2012的Performance Dashboard报表: Microsoft® SQL Server® 2012 Performance Dashboard Reports ,安装后在C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Performance Dashboard 下可以找到setup.sql和相关自定义报表。

readme里头有安装的方法,帮助文件里头有具体的使用方法。

2、开启SSMS 执行setup.sql

3、选择自定义报表performance_dashboard_main.rdl,载入后即可看到性能分析报表:

Performance Dashboard不收集也不存储任何信息,而是从SQL Server内部取出当前存在的数据。正因如此,大量的数据都是从某一特定时间开始的,但是有时,你会看到一些历史数据,作为副产品来查看SQL Server如何工作。历史数据很有限,但是很有用,我们之后会提到。

我之所以指出这个原因,是因为你必须手动的刷新Performance Dashboard来获取你SQL Server最新的活动快照。这也很容易做,只要单击Performance Dashboard顶端的refresh按钮就可以了,就像下面这张图这样。

现在,我们看看一些Performance Dashboard的主要区域,看看他们能够告诉我们些什么。主页面分五大区块。

1.查看CPU使用率,如果SQL Server CPU使用率长时间超过80%的话,可能须注意是否I/O造成CPU瓶颈(过度switch)。

System CPU Utilization

对于大多数DBA,System CPU Utilization(系统CPU使用率)图表非常有用。你能看到至少15分钟的SQL Server的CPU活动情况,从SQL Server启动开始,每分钟一次更新。但是,请注意,如果你刚启动SQL Server的服务,将没有CPU的活动图表,因为还未满15分钟,15分钟后,你会第一次看到这些数据。而在这里还想强调的是,CPU的使用率并不是一个精确的数值,而是一个大约值,但是一个大约的值也已经足够了。在下面的例子中,你会看到一个15分钟CPU数据,并且每次更新之后,这个图表依旧显示的是一段15分钟长的CPU活动的数据。

Performance Dashboard不仅提供了CPU使用状况的信息,还提供了许多其他的宝贵信息,我们来继续看一看。

2.查看目前请求所等待的类型,这里可以看出有那些资源竞争的情况(如果等待时间过长)。

SQL Server每秒执行成百上千的操作,但它们并不是同时完成的。也就是说,许多活动通常都需要短期的“等待”。实际上,SQL Server利用数百种不同的等待状态来解决它们的复杂性。作为一个DBA,我们的目标是将这种等待状态最小化。等待状态越多,或者等待时间越长,性能就会越慢。当等待状态达到正常值的时候,扩展的等待状态就不在需要,需要将这些状态鉴别和更正。

SQL Server利用各种DMV来跟踪这些等待状态,有趣的是,SQL Server还能收集一些自上次SQL Server服务重启开始的一些等待状态的历史数据,这些历史数据和当前的等待状态信息都是对DBA非常有用的。

在初始的Performance Dashboard屏幕中,你可能会看到下面的图标。注意,只是“可能”看到。这是因为这个图表显示的是Performance Dashboard上次刷新时的当前等待状态的信息。很可能当时没有等待状态,如果如此,那就不会再屏幕中出现这类图表。

3.查看目前活动相关信息,这里你可以快速看出快取击中率的数值(建议>90%)。

图中的User Requests和User Sessions,这些数据都是Performance Dashboard在上次更新时获取的。另外,elapsed time(消逝时间)和cache hit ratio(缓存触发率)的值指的是之前的全部完成的请求的消逝时间总和。点击蓝色的User Requests 或 User Sessions你可以看到下拉的信息。当点击User Requests,你可以看到下图的信息,显示出上次更新时的当前用户请求。(与之前的部分图一样,为了省略显示,这张图被截断,真实的图标有更多的信息。)

当你点击User Sessions时,你可以看到下列的报表:

这个报表与Management Studio的Current Activity显示的信息比较相似,但它能提供更多的信息。(同样,这个报表也是被截断的,真实的报表比这更长。)

4.查看相关历史信息,这里的数据我认为相当有价值,可以看出I/O Read/Writes状况,以及何种等待类型最多。还有可以找出最耗时的查询(依CPU、运行时间...等)。

虽然Performance Dashboard并不收集历史数据,但是一些SQL Server的DMV是收集的,我们可以看下图,这些是利用DMV的数据显示出的历史数据:Waits, IO Statistics, 和 Expensive Queries。

Waits

这个报表显示了一个自SQL Server实例重新启动开始发生的所有等待状态的一个历史数据的快照。

在上述的例子中,我们能看到sleep wait state和this SQL Server实例记录的Network IO类别的最大等待状态。如果想查看更多的详细信息,可以展开这些状态类别。这些信息都非常强大,它可以帮助我们去确定这种等待状态是不是对SQL Server的性能有消极的影响。

IO Statistics

这些历史报表告诉你哪个数据库最消耗IO,以及一些其他的附加信息。下面的截图是报表的顶端部分,总结的数据库的IO情况。

下图是这个报表的另一个部分,能看查看哪一个对象最消耗IO。另外,如果发现了有出现missing index的情况,你可以下拉报表来查看具体是哪个missing index,这样就可以把它重新加上。

Expensive Queries

这部分提供了我们在其他查询报表所看到的相似的信息,但它显示的是SQL Server中当前被加入缓存的那些查询语句。这样我们就能给我们更好的展示,来看我们的服务器究竟发生了什么。有六种不同方式的结果排序选项(每一种都将形成一个单独的报表)。你也可以下拉查看详细信息。

5.综合信息可以快速浏览如数据库总览、扩充事件..等。

Active Traces

Active Traces鉴别了当前SQL Server实例中所执行的所有trace。即使你不能运行Profiler Trace,你依然可以看到这个active trace信息。为什么呢?这是因为SQL Server一直在自动地为你跟踪这些事件,当你在这个实力上执行一个Profiler Trace是,你会看到如下的信息。

Databases

Databases的报表提供了一个当前实例中数据库的快速浏览,可以快速查看这些主要数据库的配置选项。

Missing Indexes

最后一个报表列出了SQL Server所确定的所有missing index。这个分析没有Database Engine Tuning Advisor所做的那么全面,但它显示出了明显的missing index。其实我们只是希望在这个列表中不出现任何的missing index,这代表我们的数据库设计的更好。

最后提醒一下各位:

这些统计信息的数据源大多来自于 SQL Server 里所谓的 动态管理检视 ( DMV ),这些信息是从数据库实体 (Instance) 启动之后所累积的动态信息,所以 SQL Server 跑得越久,所收集到的信息越精准,也越能找出在启动 SQL Server 服务之后到现在所累积的效能问题有哪些。

相关文章:

如何在 SQL 2008 安裝 Performance Dashboard Reports

[SQL]SQL Server 2008使用Extended Events SSMS Addin + Performance Dashboard Reports來監看系統

善用Performance Dashboard Reports

时间: 2024-10-10 08:10:03

【转】Microsoft® SQL Server® 2012 Performance Dashboard Reports的相关文章

SQL 2012群集添加节点失败“Please wait while Microsoft SQL Server 2012 Service Pack 1 Setup processes

问题描述(Issue Symptoms) SQL Server 2012 STD cluster安装在Windows Server 2012时,添加节点时,在以下界面超过4小时无法通过: "Please wait while Microsoft SQL Server 2012 Service Pack 1 Setup processes the current operation." 第二天存在以下界面,但是无法选择已经安装的群集 原因分析(Cause) 1. 查看了安装日志发现 De

Microsoft SQL Server 2012 R2部署安装

SQL Server 的安装相对于其他服务来说还是比较简单的,插入光盘,点击"Setup"打开"SQL Server安装中心",在安装中心界面我们可以通过"计划""安装""维护""工具""资源""高级""选项"进行系统安装,信息查看以及系统设置,首先,点击"硬件和软件要求"来查看是否支持最低软硬件要求配置,在

Microsoft SQL Server 2012 附加数据库

今天闲来无事想看看以前的一个老旧的数据库,用Microsoft SQL Server 2012 附加数据库,结果悲剧了,出了一堆的错误,所幸经过几次尝试后终于解决了问题,错误信息如下,解决的方法也简单,以管理员身份运行SQL Server Management Studio,然后再附加数据库即可,写出来供大家参考. TITLE: Microsoft SQL Server Management Studio ------------------------------ Attach databas

跟我一起学Microsoft SQL Server 2012 Internals(3.3)

目录 目录 正确扩展与收缩SQL Server的数据database文件 参考资料 正确扩展与收缩SQL Server的数据(database)文件 在创建MS SQL Server数据库后,我们会调整一个重要选项,即数据文件与日志文件的增长方式.同时MS SQL Server可在必要时,收缩数据文件与日志文件的大小,但个人不建议做此操作. 下图所示是通过SSMS设置数据库文件的自动增长方式: 个人建议初始时给予足够的数据与日志空间,然后设置按固定MB的大小自动增长.若按图所示设置以百分比方式增

跟我一起学Microsoft SQL Server 2012 Internals(3.2)

目录 目录 正确认识SQL Server数据库文件 创建一个数据库database 参考资料 正确认识SQL Server数据库文件 MS SQL Server的数据库文件可分成如下2类: 数据文件(.mdf或.ndf) 事务日志文件(.ldf) 其中"数据文件"可分为:主数据文件(Primary data files,即.mdf)与次数据文件(Secondary data files,即.ndf) 我们可通过目录视图sys.database_files查看数据库文件的相关信息 --查

Microsoft SQL Server 2012 数据库安装图解

官网下载地址:    http://www.microsoft.com/zh-cn/download/details.aspx?id=29066 1. 根据微软的下载提示,64位的Windows 7操作系统,只需下载列表的CHSx64SQLFULL_x64_CHS_Core.box. CHSx64SQLFULL_x64_CHS_Intall.exe和CHSx64SQLFULL_x64_CHS_Lang.box三个安装包即可.然而第一个CHS\SQLFULL_CHS.iso包含了32位和64位.如

Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 1 -使用FOR XML返回XML结果集

原文:Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 1 -使用FOR XML返回XML结果集 XML 介绍 <CustomersOrders> <Customer custid="1" companyname="Customer NRZBB"> <Order orderid="10692" orderdate="2007-10-03T00:00:00&

Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 2 -使用XQuery 查询XML数据

原文:Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 2 -使用XQuery 查询XML数据 XQuery 是一个浏览/返回XML实例的标准语言. 它比老的只能简单处理节点的XPath表达式更丰富. 你可以同XPath一样使用.或是遍历所有节点,塑造XML实例的返回等. 作为一个查询语言, 你需要一个查询处理引擎. SQL Server 数据库通过XML数据类型方法的T-SQL 语句来处理XQuery. SQL Server 并不支持所有的X

Microsoft SQL Server 2012 管理 (1): 安装配置SQL Server 重点

SQL Server 可以在实例,数据库,列,查询分别指定排序规则 /* Module 1 - working with Clollations */ -- 1.1 Obtain the Instance Collation from the GUI --Create a Database without specifying a specific Collation Create Database UnspecifiedCollationDB; GO -- Use the statement