sql server 性能分析工具

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

参考文献

Monitoring with SQL Profiler

ReadTrace

在sql server中有一个profiler的工具用于追踪sql server的执行过程,可以监控sql server的的所有过程。假如我们使用SSMS来操作sql server,那么在profiler中反映的就是ssms这个图形界面所对应的命令。我们在troubleshooting的时候一般都要求客户抓取这个profiler最终的trace文件,该文件名后缀是.trc。但是我们得到的这个trace文件可能很大,往往有几万甚至几十万条记录,那么我们如何来分析这个trace呢?这个时候我们就需要引入一些工具,在这里我们用到的是ReadTrace工具,他的下载地址是:RML Utilities for SQL Server

安装完毕后,在\Program Files\Microsoft Corporation\RMLUtils\目录下,会有两个小工具叫ReadTrace.exe跟Reporter.exe。假如要分析在'D:\sqltrace\input\sp_trace.trc'里的Trace文件,输出也产生在'D:\sqltrace\output'下,命令可以是:

D:\Program Files\Microsoft Corporation\RMLUtils>ReadTrace -I"D:\sqltrace\input\sp_trace.trc" -o"D:\sqltrace\output" -f

注意,这里的参数是区分大小写的。还有一个需要注意到就是输出文件的目录不能跟输入文件是在同一个目录下面,不然会报错,所以我这里用input和output区分开来。在执行完上面的操作以后,会自动在sql server中创建一个叫做PerfAnalysis的数据库。然后我们点击前面提到的Reporter.exe,就可以查看报告了。

常用的统计有以下三项:

  1. 报表工具会根据trace记录里的开始时间、结束时间、CPUReadsWritesDuration等,按时间段做统计,画出一张图来。能帮助管理员了解在不同时间段SQL Server的繁忙程度。
  2. 按程序(Application Name)、数据库(Database Id)、用户名(Login Name)排序,找出造成最大SQL工作量的程序/数据库/用户。
  3. 按照同一类型的语句,统计最昂贵的语句。在unique batch和unique statement中

SQL Nexus

 http://sqlnexus.codeplex.com/

PSSDIAG Data Collection Utility

微软对PSSDIAG的介绍如下:

PSSDIAG is a general purpose diagnostic collection utility that Microsoft Product Support Services uses to collect various logs and data files. PSSDIAG can natively collect Performance Monitor logs, SQL Profiler traces, SQL Server blocking script output, Windows Event Logs, and SQLDIAG output.

PSSDIAG有两个版本,一个版本支持sql server 7.0和sql server 2000,现在最新的版本支持sql server 2005与sql server 2008,但是不知道对sql server 2012的支持如何。本文以sql server 2008 R2为例进行介绍。在安装完PSSDIAG以后,我们打开DiagConfig.exe这个文件进行配置我们需要抓取的trace。可以配置的项很多,但是默认已经帮我们选择了许多,在我们不是很清楚如何配置的时候,我们可以按默认配置来抓取trace。PSSDIAG的配置界面如下图所示:

在最底下我们可以看到如下描述:

Select the diagnostics you want to collect and click the Save button to save your configuration. During the Save process, a .CAB file is created that can then be used for collecting diagnostic data after extracting the contents. This package will contain the configuration file you’ve just created as well as the scripts, utilities, and other files necessary to collect the diagnostic data that you need to modify.

这就是说在我们配置完需要抓取的内容以后,我们点击左上角的SAVE按钮,此时会询问我们配置文件保存在哪里,如下图所示:

我们可以看到,配置文件被保存在了build文件下,而又一个cab文件被保存在了customer文件夹下面。这是因为我们如果让客户抓取trace,我们不需要将整个Pssdiag安装文件发给客户,只需要将pssd.cab这个文件法送给客户,让客户自己解压,然后运行其中的pssdiag.cmd就可以了。之星pssdiag.cmd的界面如下图所示:

在执行完上面批处理命令以后,我们在Pssdiag\Customer\pssd目录下会看到一个output文件夹,我们只需要让客户将这个output文件夹打包发送给我们就可以了。output文件夹中主要文件有如下图所示:

sqldiag.blg使用performance monitor打开,.trc文件使用sql profiler打开。

 

 

 本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/archive/2012/08/28/2660151.html,如需转载请自行联系原作者

 

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
打赏
0
0
0
0
60
分享
相关文章
Flink SQL 详解:流批一体处理的强大工具
Flink SQL 是为应对传统数据处理框架中流批分离的问题而诞生的,它融合了SQL的简洁性和Flink的强大流批处理能力,降低了大数据处理门槛。其核心工作原理包括生成逻辑执行计划、查询优化和构建算子树,确保高效执行。Flink SQL 支持过滤、投影、聚合、连接和窗口等常用算子,实现了流批一体处理,极大提高了开发效率和代码复用性。通过统一的API和语法,Flink SQL 能够灵活应对实时和离线数据分析场景,为企业提供强大的数据处理能力。
314 26
Linux性能分析利器:全面掌握perf工具
【10月更文挑战第18天】 在Linux系统中,性能分析是确保软件运行效率的关键步骤。`perf`工具,作为Linux内核自带的性能分析工具,为开发者提供了强大的性能监控和分析能力。本文将全面介绍`perf`工具的使用,帮助你成为性能优化的高手。
321 1
掌握Linux性能分析:深入探索perf工具
【10月更文挑战第26天】
219 1
微软SQL Server可视化工具与技巧
微软SQL Server不仅提供了强大的数据库管理功能,还集成了多种可视化工具,帮助用户更直观地理解和管理数据
MySQL高级篇——性能分析工具
MySQL的慢查询日志,用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long-query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为 10,意思是运行10秒以上(不含10秒)的语句,认为是超出了我们的最大忍耐时间值。它的主要作用是,帮助我们发现那些执行时间特别长的 SOL 查询,并且有针对性地进行优化,从而提高系统的整体效率。当我们的数据库服务器发生阻塞、运行变慢的时候,检查一下慢查询日志,找到那些慢查询,对解决问题很有帮助。
MySQL高级篇——性能分析工具
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
398 1
SQL语句性能分析技巧与方法
在数据库管理中,分析SQL语句的性能是优化数据库查询、提升系统响应速度的重要步骤
【Java性能调优新工具】JDK 22性能分析器:深度剖析,优化无死角!
【9月更文挑战第9天】JDK 22中的性能分析器为Java应用的性能调优提供了强大的支持。通过深度集成、全面监控、精细化分析和灵活报告生成等核心优势,性能分析器帮助开发者实现了对应用性能的全面掌控和深度优化。在未来的Java开发过程中,我们期待性能分析器能够继续发挥重要作用,为Java应用的性能提升贡献更多力量。

热门文章

最新文章