利用sql server事件探查器排除与性能相关的问题

来源:互联网 发布:卖家网wish数据 编辑:程序博客网 时间:2024/06/07 19:29


SQL Server事件探查器除了可以用于找出执行成本最高的那些TSQL或存储过程外,还可以利用它许多强大的功能诊断和解决其它不同类型的问题。当你收到一个性能问题报告后,或者想提前诊断潜在的性能问题时都可以使用SQL事件探查器。


 


1、创建一个新模板


创建一个新模板,需要指定模板名、事件和列。当然也可以从现有的模板修改而来。


 


2、捕捉表扫描(TableScan)和死锁(DeadLock)事件


启动事件探查器,运行你的应用程序,当再次发生表扫描和死锁事件时,事件探查器就可以捕捉到,利用跟踪信息就可以找出执行代价最高的TSQL。


 


3、创建重放跟踪


某些时候,为了解决生产数据库的性能问题,你需要在测试服务器上模拟一个生产环境,这样可以重演性能问题。使用SQL事件探查器的TSQL_Replay模板捕捉生产库上的事件,并将跟踪信息保存为一个.trace文件,然后在测试服务器上播放跟踪文件就可以重现性能问题是如何出现的了。


 


4、创建优化跟踪


数据库调优顾问是一个伟大的工具,它可以给你提供很好的调优建议,但要真正从它那获得有用的建议,你需要模拟出与生产库一样的负载,也就是说,你需要在测试服务器上执行相同的TSQL,打开相同数量的并发连接,然后运行调优顾问。SQL事件探查器的Tuning模板可以捕捉到这类事件和列,使用Tuning模板运行事件探查器,捕捉跟踪信息并保存,通过调优顾问使用跟踪文件在测试服务器上创建相同的负载。


 


5、捕捉ShowPlan在事件探查器中包括SQL执行计划


有时相同的查询在测试服务器和生产服务器上的性能完全不一样,假设你遇到这种问题,你应该仔细查看一下生产数据库上TSQL的执行计划。但问题是现在不能在生产库上执行这个TSQL,因为它已经有严重的性能问题。这时SQL事件探查器可以派上用场,在跟踪属性中选中ShowPlan或ShowPlan XML,这样可以捕捉到SQL执行计划和TSQL文本,然后在测试服务器上执行相同的TSQL,并比较两者的执行计划。




文章转载自:    Sql Server事件探查器的作用    http://www.studyofnet.com/news/603.html





0 0
原创粉丝点击