使用SqlServer_Profiler跟踪慢查询

 

 

使用SQLProfiler(事件探查器)跟踪数据库操作及慢查询

1:应用程序连接SQL SERVER数据库服务器;

2:打开SQL Profiler开启数据库事件跟踪;

(1):打开SQL Server Management Studio,选择 “工具”—“SQL Server Profiler”,如下图:

 使用SqlServer_Profiler跟踪慢查询_第1张图片

 

 

(2): 连接到指定服务器,并制定跟踪计划;

 使用SqlServer_Profiler跟踪慢查询_第2张图片

 

选择需要连接的服务器之后;

默认弹出跟踪属性设置界面,

可以设置跟踪结果保存到文件或者保存到表,并能设置跟踪的停止时间;如下图:

 使用SqlServer_Profiler跟踪慢查询_第3张图片

 

 

在事件选择框中选择要跟踪的事件,如下图:

 使用SqlServer_Profiler跟踪慢查询_第4张图片

 

具体事件类别请参考。

上图可以看出,可以跟踪指定的应用程序,指定的机器名,指定的数据库登录名,能记录所有应用程序发出的SQL操作请求以及执行开始时间,结束时间,持续时间等;

在上图的列筛选器中对需要跟踪的事件设置筛选条件;如下图:

 使用SqlServer_Profiler跟踪慢查询_第5张图片

 

如有多个应用程序或者多个人同时登陆连接到这台数据库服务器,可以在这里进行筛选设置,只跟踪指定机器,指定应用程序,指定数据库登录用户的所有数据库操作;

具体跟踪各事件列的含义请参考:

点运行之后,可自动运行,无须值守,可自动运行到之前设置跟踪计划时指定的停止时间,停止跟踪;

 使用SqlServer_Profiler跟踪慢查询_第6张图片

 

 

(3):运行应用程序,进行测试操作;

应用程序包括:所有连接数据库的应用程序都可以,无论是C/S架构的软件,还是B/S架构的浏览器,或者数据库本身,所有连接到数据库,对数据库做的任何操作都可以记录,并可以根据设置的跟踪条件进行筛选;

如设置超过指定时间的查询:

 使用SqlServer_Profiler跟踪慢查询_第7张图片

 

(4):对跟踪结果进行分析;如下图:

 使用SqlServer_Profiler跟踪慢查询_第8张图片

 

如上图所示,已经记录了执行的SQL查询语句,开始时间,结束时间,持续时间,查询的应用程序名,发起人等;

注:有时候可能显示时间都0,此时可以工具——>选项中对时间单位进行设置。

 使用SqlServer_Profiler跟踪慢查询_第9张图片

 

 

 

附录:

事件类别

 

Broker 事件类别包括由 Service Broker 生成的事件类。

 

Cursors 事件类别包括由游标操作生成的事件类。

 

CLR 事件类别 包括通过执行 .NET 公共语言运行时 (CLR) 对象而生成的事件类。

 

Database 事件类别包括自动增大或收缩数据文件或日志文件时生成的事件类。

 

Deprecation 事件类别包括与不推荐使用的情况相关的事件。

 

Errors and Warnings 事件类别(数据库引擎)包括返回 SQL Server 错误或警告时产生的事件类。例如,编译存储过程时发生的错误或 SQL Server 中的异常错误。

 

Full Text 事件类别包括启动、中断或停止全文搜索时生成的事件类。

 

Locks 事件类别包括在获取、取消、释放锁时或者在对锁执行一些其他操作时生成的事件类。

 

Objects 事件类别包括在创建、打开、关闭或删除数据库对象时生成的事件类。

 

OLEDB 事件类别包括由 OLE DB 调用生成的事件类。

 

Performance 事件类别包括在执行 SQL 数据操作语言 (DML) 运算符时生成的事件类。

 

Progress Report 事件类别包括 Progress Report: Online Index Operation 事件类。

 

Scans 事件类别包括扫描表和索引时生成的事件类。

 

Security Audit 事件类别包括用于审核服务器活动的事件类。

 

Server 事件类别包含常规服务器事件。

 

Sessions 事件类别包括在连接和断开 SQL Server 实例的客户端时生成的事件类。

 

Stored Procedures 事件类别包括执行存储过程时生成的事件类。

 

Transactions 事件类别包括执行 Microsoft 分布式事务处理协调器事务时或写入事务日志时生成的事件类。

 

TSQL 事件类别包括执行从客户端传递到 SQL Server 实例的 Transact-SQL 语句时生成的事件类。

 

User-Configurable 事件类别包括可以定义的事件类。

详情请参考:http://technet.microsoft.com/zh-cn/library/ms175481(v=sql.90).aspx

 



使用SqlServer_Profiler跟踪慢查询_第10张图片

使用SqlServer_Profiler跟踪慢查询_第11张图片

使用SqlServer_Profiler跟踪慢查询_第12张图片

使用SqlServer_Profiler跟踪慢查询_第13张图片

使用SqlServer_Profiler跟踪慢查询_第14张图片

 

你可能感兴趣的:(使用SqlServer_Profiler跟踪慢查询)