如何执行定期的Sql Server性能监视和故障排除?

定期监视和排除sql server性能问题的最佳工具和stream程是什么?

我们使用的是SQLH2(SQL Server健康和历史)。 它是作为Microsoft的附加软件包创build的,并且具有一套很好的SQL Server报告,它是免费的!

SQL Server运行状况和历史loggingMSDN

如果您只是在寻找定期的健康检查,那么您可以按计划设置这些报告,每周通过电子邮件发送给您。

如果您从报告或用户报告中发现问题,那么您将开始查看Perfmon和SQL Trace以获取线索和更具体的诊断信息。

我成了我公司的“DBA”。 我的任务是同样的事情。 我遇到了布伦特·奥扎尔的博客。 Perfmon是开始进行性能testing的好方法。 更深入的方法是使用SQL Server Profiler。 我刚刚从redgate下载了一个免费的电子书 。

在Sql Server 2005上我最喜欢的一个就是Object Execution Statistics。 我所有的数据访问都是通过存储过程进行的,所以这个报告显示了所有使用当前caching计划的proc的统计数据。

右键单击数据库 – > Reports – > Standard Reports – > Object Execution Statistics

任何运行缓慢或过于频繁的事物都会像拇指一样伸出手来。

SQL Server Profiler的很好。

我为Simple Talk编写了一篇文章,其中包括使用profiler来获取运行缓慢的查询

http://www.simple-talk.com/sql/performance/finding-the-causes-of-poor-performance-in-sql-server,-part-1/

我倾向于每周运行一次这种跟踪,并将历史结果保存在监控数据库(生产服务器以外的某个地方)的表中。 这样一来,从一个星期到下一个星期的趋势是很容易的。

我们一直在使用一个名为zabbix的开源工具。 http://www.zabbix.com – 在mysql / php上运行。

它perfmon收集和graphics。 还监测/警报。 你可以拉任何perfmon计数器。

一些统计分析有点弱,所以我们将每小时统计信息转储到SQL Server中,以便在报告服务中定制报告,以回答如下问题 – 如果使用率保持线性,我的服务器平均运行时间为65%CPU时尚?

我一直在使用一个伟大的产品,Veritas I3,跟踪SQL服务器的负载,并可能会给你build议失踪索引等。

在Veritas I3中,您可以看到每个SQL语句使用的CPU,IO,内存,执行计划等。

但是我不得不让你失望,产品不是免费的。 🙁