sql server profiler 的简介

 

 

1.简介

 

SQL Server Profiler 用于创建和管理跟踪,并分析和重播跟踪结果。

对 sql server profiler 的使用取决于用户的使用目的(监视sql server数据库引擎实例)。例如:如果你处于生产周期的开发阶段,则你会更关心如何尽可能地获取所有的性能详细信息。而不会过于关心跟踪多个事件会造成多大的开销。相反,如果您正在监视生产服务器,则会希望跟踪更加集中,并尽可能占用较少的时间,以便尽可能地减轻服务器的跟踪负载。

 

 

 

2.功能或作用

 

监视SQL Server数据库引擎、分析服务器或Integration Services 的实例(在它们发生的)的性能。

调试Transact-SQL 语句和存储过程

通过重播跟踪来执行负载测试和质量保证

重播一个或多个用户的跟踪。

通过保存显示计划的结果来执行查询分析。

在项目开发阶段,通过音频执行语句来测试Transact-SQL语句和存储过程,以确保代码按预期方式运行。

通过捕获生产系统中的事件并在测试系统中重播这些事件来解决SQL Server中的问题,这对测试和调试很有用,并使得用户可以不受干扰地继续使用生产系统。

审核和检查在SQL Server实例中发生的活动,这使得安全管理员可以检查任何审核事件,包括登录尝试的成功与失败,以及访问语句和对象的权限的成功与失败。

将跟踪结果保存在XML中,以提供一个标准化的层次结构来跟踪结棍。这样,您可以修改现有跟踪或手动创建跟踪,然后对其进行重播。

聚合跟踪结果以允许对相似事件类进行分组和分析,这些结果基于单个列分组提供计数。

允许非管理员用户创建跟踪。

将性能计数器与跟踪关联以诊断性能问题。

配置可用于以后跟踪的跟踪模板。

 

 

 

 

3.使用sql server profiler

 

sql server profiler可显示 sql server如何在内部解析查询。这就使管理员能够准确查看提交服务器的Transact-SQL语句或多维表达式,以及服务器是如何访问数据库或多维数据集以返回结果集的。

使用sql server profile可执行下列操作:

 

   创建基于可重用模板的跟踪

   当跟踪运行时监视跟踪结果

   将跟踪结果存储在表中

   根据需要启动、停止、暂停和修改跟踪结果

   重播跟踪结果

 

使用sql server profiler只监视感兴趣的事件。如果跟踪变得太大,可以基于所需的信息进行筛选,以便只收集部分事件数据。监视过多事件会增加服务器和监视进行的开销,并且可能导致跟踪文件或跟踪表变得很大,尤其是当监视进程待续很长时间时。

 

 

  3.1 sql server profiler 模板

   使用sql server profiler创建模板,在定义跟踪中包含事件类和数据列。可以将一个模板用于多个跟踪;注意:模板本身并不会执行

   sql server profiler提供了预定义的跟踪模板,使您可以轻松配置特定跟踪。例如:standard模板可以帮助你创建通用跟踪,用于记录登录、注销、已完成的处理和连接信息。

 

   sql server profiler可以跟踪各种服务器类型。例如:sql server 2000,analysis services和sql server 2005(2008和更高版本)。但每种服务器可以包含的事件类会有所不同。因此,sql server profiler为不同服务器保留不同的模板,并提供与所选服务器类型匹配特定模板。

 

模板名称

模板用途

事件类

SP_Counts

捕获一段时间内存储过程的执行行为。

SP:Starting

Standard

创建跟踪的通用起点。捕获所运行的全部存储过程和 Transact-SQL 批处理。用于监视常规数据库服务器活动。

Audit Login

Audit Logout

ExistingConnection

RPC:Completed

SQL:BatchCompleted

SQL:BatchStarting

TSQL

捕获客户端提交给 SQL Server 的所有 Transact-SQL 语句及其发出时间。用于调试客户端应用程序。

Audit Login

Audit Logout

ExistingConnection

RPC:Starting

SQL:BatchStarting

TSQL_Duration

捕获客户端提交给 SQL Server 的所有 Transact-SQL 语句及其执行时间(以毫秒位单位),并按持续时间对其进行分组。用于识别执行速度慢的查询。

RPC:Completed

SQL:BatchCompleted

TSQL_Grouped

捕获提交给 SQL Server 的所有 Transact-SQL 语句及其发出时间。信息按提交语句的用户或客户端分组。用于调查某客户端或用户发出的查询。

Audit Login

Audit Logout

ExistingConnection

RPC:Starting

SQL:BatchStarting

TSQL_Locks

捕获客户端与异常锁事件一起提交到 SQL Server 的 Transact-SQL 语句。用于排除死锁、锁超时和锁升级事件的故障。

Blocked Process Report

SP:StmtCompleted

SP:StmtStarting

SQL:StmtCompleted

SQL:StmtStarting

Deadlock Graph(针对 SQL Server 2005 或 SQL Server 2008 实例使用。)

Lock:Cancel

Lock:Deadlock

Lock:Deadlock Chain

Lock:Escalation

Lock:Timeout(针对 SQL Server 2000 实例使用。)

Lock:Timeout (timeout>0)(针对 SQL Server 2005 或 SQL Server 2008 实例使用。)

TSQL_Replay

捕获重播跟踪所需的 Transact-SQL 语句的详细信息。用于执行迭代优化,例如基准测试。

CursorClose

CursorExecute

CursorOpen

CursorPrepare

CursorUnprepare

Audit Login

Audit Logout

Existing Connection

RPC Output Parameter

RPC:Completed

RPC:Starting

Exec Prepared SQL

Prepare SQL

SQL:BatchCompleted

SQL:BatchStarting

TSQL_SPs

捕获有关执行的所有存储过程的详细信息。用于分析存储过程的组成步骤。如果您怀疑过程正在重新编译,请添加 SP:Recompile 事件。

Audit Login

Audit Logout

ExistingConnection

RPC:Starting

SP:Completed

SP:Starting

SP:StmtStarting

SQL:BatchStarting

Tuning

捕获有关存储过程和 Transact-SQL 批处理执行的信息。用于生成跟踪输出,数据库引擎优化顾问可以将该输出用作工作负荷来优化数据库。

RPC:Completed

SP:StmtCompleted

SQL:BatchCompleted

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值