五、性能监视(1)事件探查器

一、概念

  SQL Server Profiler (SQL Server 2000时称为“事件探查器”)是 SQL 跟踪的图形用户界面,用于监视数据库引擎或 SSAS的实例。 您可以捕获有关每个事件的数据并将其保存到文件或表中供以后分析。 例如,可以对生产环境进行监视,了解哪些存储过程由于执行速度太慢而影响了性能。

  SQL Server Profiler 用于下列活动中: 

•  逐步分析有问题的查询以找到问题的原因。

•  查找并诊断运行慢的查询。

•  捕获导致某个问题的一系列 Transact-SQL 语句。 然后用所保存的跟踪在某台测试服务器上复制此问题,接着在该测试服务器上诊断问题。 

•  监视 SQL Server 的性能以优化工作负荷。 有关为数据库工作负荷而优化物理数据库设计的信息,请参阅数据库引擎优化顾问。 

•  使性能计数器与诊断问题关联。


  SQL Server Profiler 还支持对 SQL Server 实例上执行的操作进行审核。 审核将记录与安全相关的操作,供安全管理员以后复查。 

 

二、基本操作

  SQL Server Profiler 是一个功能丰富的界面,用于创建和管理跟踪并分析和重播跟踪结果。 <?xml:namespace prefix="[default]" ns="http://www.w3.org/1999/xhtml">?xml:namespace>事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进行分析或用它来重播特定的一系列步骤。

  创建跟踪的过程如下:

1. 新建跟踪

  在“文件”菜单上,单击“新建跟踪”,并连接到 SQL Server 实例。此时,将显示“跟踪属性”对话框。

192532128.png


  注意:如果选中“建立连接后立即开始跟踪”,就不会显示“跟踪属性”对话框,而是直接开始跟踪。 若要关闭此设置,请在“工具”菜单上,单击“选项”,再清除“建立连接后立即开始跟踪”复选框。 


2. 输入跟踪的名称

  在“跟踪名称”框中,键入跟踪的名称。

 

3. 使用模板

  在“使用模板”列表中,为此跟踪选择一个跟踪模板;如果不想使用模板,请选择“空白”。

  常用的模板有以下:

(1)Blank(空白)。空白跟踪,方便从头创建整个跟踪。

(2)SP_Counts。捕捉执行的每个存储过程,以便判断每个过程执行了多少次。

(3)Standard(默认)。供定制的最常用的模板。捕捉执行的存储过程和即席(Ad Hoc)查询,捕捉每个过程和批处理的性能统计数据,还捕捉每个登录(login)和注销(logout)。

(4)TSQL。捕捉执行的所有存储过程和即席查询批处理的一个列表,但不包括任何性能统计数据。

(5)TSQL_Duration。捕捉执行的每个存储过程和即席查询批处理的持续时间。

(6)TSQL_Grouped。捕捉每个登录和注销,以及执行的每个存储过程和即席查询批处理。包括以标识“执行请求的应用程序和用户”的信息,但不包括任何性能数据。

(7)TSQL_Locks。捕捉阻塞和死锁信息,比如阻塞的进程、死锁链、死锁图、锁升级(lock escalation)和锁超时。还捕捉每个存储过程、存储过程中的每个命令以及每个即席查询请求。

(8)TSQL_Replay。捕捉针对实例执行的存储过程和即席查询批处理,它采用的格式允许在测试系统上重播跟踪。该模板常用于执行负载和回放测试。

(9)TSQL_SPs。捕捉所有即席查询批处理、存储过程以及存储过程中的每个语句的性能数据。还会捕捉每个登录和注销。

(10)Tuning。捕捉即席查询批处理、存储过程以及存储过程中的每个语句的基本性能数据。

 

4. 保存跟踪结果

  若要保存跟踪结果,请执行下列操作之一

(1)保存到文件

  单击“保存到文件”将跟踪捕获到文件中。

  指定“设置最大文件大小”的值。 默认值为 5 MB。 防止文件增长时失控。

  或者,选择“启用文件滚动更新”,以便当文件大小达到最大值时自动创建新文件。如果未“启用文件滚动更新”但又“设置最大文件大小”,当文件达到上限时Profiler会停止捕捉事件。

  也可以选择“服务器处理跟踪数据”,由正在运行跟踪的服务而不是客户端应用程序来处理跟踪数据。在服务器处理跟踪数据时,即使是在压力较大的情况下也不会跳过事件,但是服务器性能可能会受到影响。 

 

(2)保存到表

  单击“保存到表”将跟踪捕获到数据库表中。

  根据需要,可以单击“设置最大行数”,并指定值。

 

  注意:如果不将跟踪结果保存到文件或表中,则当 SQL Server Profiler打开时可以查看跟踪。 但是,在停止跟踪并关闭 SQL Server Profiler之后会丢失跟踪结果。 为了避免这种丢失跟踪结果的情况,可以在关闭 SQL Server Profiler之前单击“文件”菜单上的“保存”来保存结果。 

  在服务器上以网格方式显示跟踪结果时,需要大量的内存,可能会加载服务器的负担。遇到这种情况,建议在服务器上以文本格式查看跟踪结果。 


5. 跟踪停止时间

  根据需要,可以选中“启用跟踪停止时间”复选框,再指定停止日期和时间。

 

6. 事件选择

  若要添加或删除事件、数据列或筛选器,请单击“事件选择”选项卡。 

195334808.png

 

7. 启动跟踪

  单击“运行”启动跟踪功能。

200743353.png

 

 

三、重播跟踪

  创建跟踪的目的之一,是在以后重播它们。在重播时,SQL Server Profiler可以模拟用户连接和验证,利用它可以复原在跟踪中记录的操作。可以使用不同的方式重播跟踪,以帮助发现并解决各种不同的问题。

(1)逐步执行跟踪以监视跟踪中的每一个步骤。

(2)使用初始的时间基线执行跟踪,以模拟用户负载。

(3)以高重播率执行跟踪,来对服务器进行压力测试。

  重播跟踪的操作方法如下:http://technet.microsoft.com/zh-cn/library/ms187857(v=sql.105).aspx

1. 加载跟踪文件或跟踪表

  在“文件”菜单中选择“打开”,然后选择“跟踪文件”或“跟踪表”,也可以选择脚本文件。可以将另一台服务器上捕捉到的跟踪文件在本机上重播。

202241104.png

  之后,跟踪被载入SQL Server Profiler窗口,记录在跟踪中的事件和命令在窗口中显示出来。 

 

2. 启动重播

  在“重播”菜单中选择相应的按钮进行操作。

201849214.png

 

   注意:SQL Server 2012有专门的重播工具,在此之前,Profiler的重播功能基本上被RML、ReadTrace、OStress、ORCA等实用工具所取代。

 

四、性能影响

  SQL Server Profiler的跟踪启动之后, SQL Server引擎在处理正常事务的同时,还要向Profiler传送跟踪信息。因此,Profiler会加重SQL Server的负担,特别是在数据库引擎处理大量数据时,对性能的影响尤其明显。

 

 

本文结语:

  通过SQL Server Profiler 跟踪实例上执行的操作,然后根据捕获的结果分析T-SQL执行的效率及性能问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server 2005事件探查是一种SQL Server数据库引擎特性,它用于收集和分析数据库中发生的事件和活动。通过事件探查可以跟踪数据库服务性能和行为,以便进行性能优化和故障排除。 SQL Server 2005事件探查具有以下特点和功能: 1. 数据收集:事件探查可以配置跟踪,收集数据库中相关的事件和活动信息。这些事件可以是数据库引擎的内部事件,也可以是用户自定义的事件事件可以包括SQL语句执行、死锁发生、存储过程执行等。 2. 灵活性:事件探查可以根据需要进行灵活的配置。可以选择跟踪特定数据库、特定用户、特定事件或特定时间范围等,以便获取关注的数据。 3. 数据过滤:事件探查可以使用过滤来限制收集的数据量。可以定义特定的过滤条件,只收集满足条件的事件数据,从而减少对服务性能的影响。 4. 数据存储:事件探查可以将收集到的事件数据存储在文件或表中,以便后续分析和查询。可以选择存储在文件系统中的XML文件,也可以选择存储在数据库中的表中。 5. 性能分析:事件探查提供了一系列工具和视图,用于分析和解释收集到的事件数据。可以根据需要查看事件的时间线、统计信息、执行计划等,便于定位性能瓶颈和优化查询计划。 总体而言,SQL Server 2005事件探查是一个强大的工具,可用于收集和分析数据库中的事件和活动信息。它可以帮助管理员和开发人员更好地理解和管理SQL Server数据库,在性能优化和故障排除方面提供有力支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值