使用SQL Server事件探查器做应用程序的性能分析
2010-10-21 04:11:16 来源:WEB开发网2. 使用性能监视器捕获 Windows NT 和 SQL Server 计数器。为此,请按照下列步骤操作:
a. 启动 Windows NT 性能监视器。
b. 在视图菜单上,单击日志。
c. 在选项菜单上,单击日志。
d. 指定文件名和位置以记录性能计数器。您可以适当地调整更新时间间隔。
e. 在编辑菜单上,单击添加到日志。
f. 添加所有对象。Windows NT 和 SQL Server 对象。
g. 要启动日志,请在选项菜单上单击日志,然后单击启动日志按钮。
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 150934 (http://support.microsoft.com/kb/150934/) 如何为 NT 疑难解答创建性能监视器日志
3. 检查阻塞。
要查看是否发生阻塞,请运行 sp_who 系统存储过程:
exec sp_who
此输出将包含 blk 列。查看输出是否有表示阻塞发生的任何非零项。在出现性能下降的全部时间范围内定期执行该过程。
注意:运行 sp_who 系统存储过程将检查是否存在阻塞。通常情况下,要完整地解决阻塞问题,这些信息还不够。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 251004 (http://support.microsoft.com/kb/251004/) INF:如何监视 SQL Server 7.0 阻塞
在正常负载下运行应用程序
理想情况下,最好在相同时间范围内捕获 SQL 事件探查器、性能监视器和阻塞输出。该时间范围必须包括应用程序的性能由好到差的时间范围。综合考虑该信息将能够帮助您清楚地了解性能下降的位置。
解释结果
1. 检查阻塞。
如果 sp_who 输出中的 blk 列非零,则表示系统上发生阻塞。如果进程相互阻塞,那么被阻塞进程的执行时间可能会更长。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 224453 (http://support.microsoft.com/kb/224453/) INF:了解和解决 SQL Server 7.0 或 2000 阻塞问题
2. 检查 SQL 事件探查器的输出。
在解决性能问题时有效地查看 SQL 事件探查器的数据是非常有用的。最重要的是,要意识到您不必查看捕获的所有内容,而应当有选择地查看。SQL 事件探查器提供了可以帮助您高效地查看已捕获数据的功能。在属性选项卡上(单击文件菜单上的属性),SQL 事件探查器允许您通过删除数据列或事件、按数据列分组(排序)以及应用筛选器来限制显示的数据。您可以检索整个跟踪或只是特定值的特定列(在编辑菜单上单击查找)。还可以将 SQL 事件探查器的数据保存到 SQL Server 表中(在文件菜单上,指向另存为,然后单击跟踪表),然后对它运行 SQL 查询。
注意,应只在以前已保存的跟踪文件上执行筛选。如果在某个活动跟踪上执行这些步骤,由于已经启动跟踪,将会有丢失已捕获数据的危险。首先将活动跟踪保存至某个文件或表(在文件菜单上,单击另存为),然后在继续执行前重新打开此跟踪(在文件菜单上,单击打开)。在处理已保存的跟踪文件时,筛选操作不会永久地删除被筛选出来的数据,它只是不显示这些数据。您可以根据需要添加和删除事件及数据列来帮助进行检索。
在 SQL 事件探查器跟踪文件中检查性能情形时,首先要确定服务器上发生不同类型事件的位置。
按事件类对跟踪进行分组:
a. 在文件菜单上,单击属性。
b. 在数据列选项卡上,使用向上按钮移动组标题下面的事件类,并使用向下按钮删除组标题下面的所有其他列。
c. 单击确定。按事件类的列进行分组可显示 SQL Server 上正在发生什么类型的事件以及发生频率。在此列中检索下列事件:
SP:RECOMPILE
此事件表示存储过程在执行期间被重新编译。多个重新编译事件表示 SQL Server 在查询编译上(而不是在查询执行上)花费了资源。
有关解决存储过程重新编译问题的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 243586 (http://support.microsoft.com/kb/243586/) 存储过程重新编译的疑难解答
Attention
注意信号表示客户端取消了查询。通常,这是由于下面两个原因之一所至:
用户明确地取消了查询或结了束应用程序。
- 或 -
超出了查询超时。
如果显示注意信号,则可能表示某些查询正在缓慢运行。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››SQL Server 千万数量级 分页 存储过程
- ››Sql Server 2005自定义Split函数
- ››SQL Server 2008 中的hierarchyid类型应用
更多精彩
赞助商链接