James Moore Asked: 2009-05-06 06:05:53 +0800 CST2009-05-06 06:05:53 +0800 CST 2009-05-06 06:05:53 +0800 CST 如何做定期的Sql Server性能监控和故障排除? 772 定期监控和解决 sql server 性能问题的最佳工具和流程是什么? sql-server performance troubleshooting 6 个回答 Voted Guy 2009-05-06T06:35:03+08:002009-05-06T06:35:03+08:00 我们使用的是 SQLH2(SQL Server Health and History)。它是作为 Microsoft 的附加包创建的,并且有一套很好的 SQL Server 的“让你开始”报告,而且它是免费的! SQL Server 运行状况和历史记录 MSDN 如果您只是在寻找定期健康检查,那么您可以按计划设置这些报告,以便每周通过电子邮件将它们发送给您。 如果您开始从报告或用户报告中发现问题,那么您将开始查看 Perfmon 和 SQL Trace 以获取线索和更具体的诊断。 RateControl 2009-05-06T06:29:12+08:002009-05-06T06:29:12+08:00 我被吸引成为我公司的“DBA”。我的任务是同样的事情。我遇到了Brent Ozar的博客。Perfmon 是开始进行性能测试的好方法。更深入的方法是使用 SQL Server Profiler。我刚刚从 redgate下载了一本免费的电子书。 Eric Z Beard 2009-05-06T07:23:33+08:002009-05-06T07:23:33+08:00 我在 Sql Server 2005 上的最爱之一是对象执行统计。我所有的数据访问都是通过存储过程进行的,因此此报告显示了所有具有当前缓存计划的 proc 的统计信息。 右键单击数据库 -> 报告 -> 标准报告 -> 对象执行统计信息 任何运行缓慢或过于频繁的东西都会像拇指酸痛一样突出。 GilaMonster 2009-05-07T06:05:40+08:002009-05-07T06:05:40+08:00 SQL Server Profiler 不错。 我为 Simple Talk 写了一篇文章,其中包括使用分析器获取运行缓慢的查询 http://www.simple-talk.com/sql/performance/finding-the-causes-of-poor-performance-in-sql-server,-part-1/ 我倾向于每周运行这种跟踪,并将历史结果保存在监视数据库(生产服务器以外的某个地方)的表中。这样就很容易看到从一周到下一周的趋势。 Sam 2009-05-20T08:27:00+08:002009-05-20T08:27:00+08:00 我们一直在使用一个名为 zabbix 的开源工具。 http://www.zabbix.com - 在 mysql/php 上运行。 它执行 perfmon 收集和绘图。还监控/警报。您可以拉出任何性能计数器。 一些统计分析有点弱,所以我们将每小时统计数据转储到 sql server 中,以便在报告服务中生成自定义报告,以回答诸如 - 如果使用率继续线性增长,我的服务器何时以平均 65% 的 CPU 运行时尚? Hakan Winther 2009-09-16T12:51:53+08:002009-09-16T12:51:53+08:00 我一直在使用一个很棒的产品 Veritas I3,它可以跟踪 SQL 服务器的负载,并可能会为您提供有关缺失索引等的建议。 在 Veritas I3 中,您可以看到每个 SQL 语句使用了多少 CPU、IO、内存、执行计划等。 但我不得不让你失望,该产品不是免费的。:(
我们使用的是 SQLH2(SQL Server Health and History)。它是作为 Microsoft 的附加包创建的,并且有一套很好的 SQL Server 的“让你开始”报告,而且它是免费的!
SQL Server 运行状况和历史记录 MSDN
如果您只是在寻找定期健康检查,那么您可以按计划设置这些报告,以便每周通过电子邮件将它们发送给您。
如果您开始从报告或用户报告中发现问题,那么您将开始查看 Perfmon 和 SQL Trace 以获取线索和更具体的诊断。
我被吸引成为我公司的“DBA”。我的任务是同样的事情。我遇到了Brent Ozar的博客。Perfmon 是开始进行性能测试的好方法。更深入的方法是使用 SQL Server Profiler。我刚刚从 redgate下载了一本免费的电子书。
我在 Sql Server 2005 上的最爱之一是对象执行统计。我所有的数据访问都是通过存储过程进行的,因此此报告显示了所有具有当前缓存计划的 proc 的统计信息。
右键单击数据库 -> 报告 -> 标准报告 -> 对象执行统计信息
任何运行缓慢或过于频繁的东西都会像拇指酸痛一样突出。
SQL Server Profiler 不错。
我为 Simple Talk 写了一篇文章,其中包括使用分析器获取运行缓慢的查询
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 收集和绘图。还监控/警报。您可以拉出任何性能计数器。
一些统计分析有点弱,所以我们将每小时统计数据转储到 sql server 中,以便在报告服务中生成自定义报告,以回答诸如 - 如果使用率继续线性增长,我的服务器何时以平均 65% 的 CPU 运行时尚?
我一直在使用一个很棒的产品 Veritas I3,它可以跟踪 SQL 服务器的负载,并可能会为您提供有关缺失索引等的建议。
在 Veritas I3 中,您可以看到每个 SQL 语句使用了多少 CPU、IO、内存、执行计划等。
但我不得不让你失望,该产品不是免费的。:(