sql server 性能分析工具

本文涉及的产品
云数据库 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
目录
相关文章
|
5天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
40 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
2月前
|
Rust 数据可视化 安全
Rust性能分析工具概览:perf、flamegraph 与其他
Rust作为一种高性能、内存安全的编程语言,在构建大型系统和微服务时备受青睐。然而,优化Rust程序的性能需要有效的工具。本文将对Rust中常用的性能分析工具进行介绍,包括perf、flamegraph等,并探讨它们如何帮助开发者定位和解决性能瓶颈。
|
22天前
|
数据可视化 关系型数据库 编译器
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
98 2
|
15天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
15 0
|
5天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
55 6
|
5天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
9天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
13 1
|
22天前
|
SQL 存储 Python
Microsoft SQL Server 编写汉字转拼音函数
Microsoft SQL Server 编写汉字转拼音函数
|
22天前
|
缓存 Linux iOS开发
【C/C++ 集成内存调试、内存泄漏检测和性能分析的工具 Valgrind 】Linux 下 Valgrind 工具的全面使用指南
【C/C++ 集成内存调试、内存泄漏检测和性能分析的工具 Valgrind 】Linux 下 Valgrind 工具的全面使用指南
61 1