Sql Server通过监控等改进性能

有什么方法可以不断地监视和报告我的生产sql服务器,以便我可以确定可以在哪里locking和性能改进?

这是一个非常开放的问题,答案因你有多less可以做的事情而变化。

至less,你应该做以下事情。

  1. 看看这些来自Glenn Berry的诊断查询,并找出基于IO,CPU等的昂贵的特效。

http://sqlserverperformance.wordpress.com/2011/05/16/may-2011-sql-server-2008-diagnostic-information-queries/

  1. 看看Perfmon计数器,并根据你发现的那些事情做出反应。

http://www.brentozar.com/archive/2006/12/dba-101-using-perfmon-for-sql-performance-tuning/

  1. 查看内存使用情况,计划caching等…

  2. 查看sys.dm_io_virtual_file_stats并确定是否存在IO瓶颈

  3. 正确的索引维护,包括更新统计信息

  4. 使用sp_whoisactive查看服务器上的当前活动。

http://sqlblog.com/files/folders/release/entry35240.aspx

这是一个非常高的起点,并不认为这是最终名单。

能够连续监视SQL服务器可以提供关于性能和有效性的有价值的信息。 幸运的是,这些function对于那些在服务器上具有pipe理function的用户来说相当简单。 首次安装服务器时,会自动安装某些性能测量。 性能工具允许实时监控,本地监控和远程监控。 另外,它们可以用来创build日志和图表,这些日志和图表可以用来分析和报告SQL服务器。

实时,连续监测

pipe理员可以通过转到“开始”,“程序”,“pipe理工具”和“性能”来访问和修改这些监视器。 pipe理员将要添加计数器来根据他们所需的性能标准来监视服务器。 他们可以select添加所有可用的计数器,或者手动select特定的监视工具。 一些比较stream行和相关的工具包括监视服务器的内存使用情况,CPU活动,分页,select磁盘繁忙的时间以及处理器执行操作系统进程的时间量。

logging和报告信息

一旦build立了实时计数器,pipe理员就应该进入性能日志和警报窗口。 从那里,他们可以右击计数器日志并select新的日志设置。 然后他们应该添加他们想要logging的计数器。 还有一个选项可以添加特定的数据logging。 如果没有使用,系统将继续logging信息,直到它被人为停止。

数据logging完成后,信息很容易转换成图表和图表。 首先打开系统监视器,点击查看日志文件数据button,然后点击添加button。 如果信息logging的时间较长,并且分析不需要所有数据,则时间范围滑动button可用于select特定的时间段。 在“数据”选项卡下,pipe理员select要包含的计数器,然后select“graphics和外观”选项卡以在该区域中select其偏好。 信息将被转换为一个易于查看的图表。 信息也可以导出到Excel进行额外的监控和报告。