SQLProfiler(一)

2015-01-24 01:41:56 · 作者: · 浏览: 10
  • 事件类
  • 事件
  • 说明
  • Stored Procedures
  • RPC:Completed
  • RPC完成事件
  • ?
  • SP:Completed
  • 存储过程完成事件
  • ?
  • SP:StmtCompleted
  • 在存储过程中一条SQL语句完成事件
  • T-SQL
  • SQL:BatchCompleted
  • T-SQL批完成事件
  • ?
  • SQL:StmtCompleted
  • 一条T-SQL语句完成事件
  • 事件类
  • 事件
  • 说明
  • Security Audit(安全审计)
  • Audit Login(登录审计)
  • 记录用户连接到SQL Server或断开连接时数据库的连接
  • Audit Logout(注销审计)
  • Sessions(会话)
  • ExistingConnection(现有连接)
  • 表示所有在跟踪开始之间连接到SQL Server的用户
  • Cursors(游标)
  • CursorImplicitConversion(游标隐含转换)
  • 表明创建的游标类型与所请求的类型个不同
  • Errors and Warnings(错误和警告)
  • Attention(注意)
  • 表示由于客户端撤销查询或者数据库连接破坏引起请求中断
  • Exception(异常)
  • 表明SQL Server发生了异常
  • Execution Warning(执行警告)
  • 表明在查询或存储过程执行期间出现了警告
  • Hash Warning(哈希警告)
  • 表明hash操作发生了错误
  • Missing Column Statistics(列统计丢失)
  • 表明优化器要求的确定处理策略用的类统计丢失
  • Missing Join Predicate(连接断言丢失)
  • 表明查询在两个表没有连接断言情况下执行
  • Sort Warning(排序警告)
  • 表明像SELECT这样的查询中执行排序操作没有合适的内存
  • Locks(锁)
  • Lock:Deadlock(死锁)
  • 标志着死锁的出现
  • Lock:Deadlock Chain(死锁链)
  • 显示产生死锁的查询链条
  • lock:Timeout(锁超时)
  • 表示锁已经超过其超时参数,该参数由SETLOCK_TIMEOUT timeout_perious(ms)命令设置
  • Stored Procedures(存储过程)
  • SP:Recompile(重编译)
  • 表明用于一个存储过程的执行计划必须重编译,原因是执行计划不存在,强制的重编译,或者现有的执行计划不能重用
  • SP:Starting(开始)
  • SP:StmtStarting(语句开始)
  • 分别表示一个SP:StmtStarting存储过程和存储过程中的一条SQL语句的开始。他们对于识别开始单因为一个操作导致Attention事件未能结束的查询很有用
  • Transactions(事物)
  • SQLTransaction(SQL事务)
  • 提供数据库事务的信息,包括事务开始/结束的时间、事务持续事件等信息
  • 数据列
  • 说明
  • EventClass(事件类)
  • 事件类型,如SQL:StatementCompleted
  • TextData
  • 事件所用的SQL语句,如SELECT * FROM Person
  • CPU
  • 事件的CPU开销(以ms表示),如对一个SELECT语句,CPU=100表示该语句执行100ms
  • Reads
  • 为一个事件所执行的逻辑读操作数量。例如对一个SELECT语句,Reads=800表示该语句需要800次逻辑读操作
  • Writes
  • 为一个事件所执行的逻辑写操作数量
  • Duration
  • 事件的执行时间(ms)
  • SPID
  • 用于该事件的SQL Server进程标识符
  • StartTime
  • 事件开始的时间
  • 事件
  • 过滤条件实例
  • 用处
  • ApplicationName(应用程序名称)
  • Not like:SQL Profiler
  • 过滤Profiler生成的事件。这是默认的行为
  • DatabaseID(数据库标识符)
  • Equals:
  • 过滤特定数据库生成的事件。数据库ID:SELECT DB_IC('Northwind')
  • Duration(持续时间)
  • Greater than or equal:2
  • 对于性能分析,经常会为一个大的工作负载捕捉跟踪,在大的跟踪中,许多事件日志具有比所感兴趣更小的持续周期(Duration)。过滤这个事件日志,因为几乎没有可用于优化这些SQL活动的余地
  • Reads(读操作数)
  • Greater than or equal"2
  • 过滤读操作较小的事件
  • SPID
  • Equals:
  • 定位由特定的数据库用户发送的查询
  • 描述
  • Plan_handle
  • 引用执行计划的指针
  • Creation_time
  • 计划创建的时间
  • Last_execution time
  • 查询最后一次使用的计划时间
  • Execution_count
  • 计划已经使用的次数
  • Total_worker_time
  • 从创建起计划使用的CPU时间
  • Total_logical_reads
  • 从创建器计划使用的读操作数量
  • Total_logical_writes
  • 从创建器计划使用的写操作数量
  • Query_hash
  • 可用于识别有相似逻辑的查询的一个二进制hash
  • Query_plan_hash
  • 可用于识别有相似逻辑的计划的一个二jinzhihash
SQL Profiler是一个图形界面和一组 系统存储过程,其作用如下:
图形化监视SQL Server查询;
在后台收集查询信息;
分析性能;
诊断像死锁之类的问题;
调试T-SQL语句;
模拟重放SQL Server活动;
也可以使用SQL Profiler捕捉在SQL Server实例上执行的活动。这样的活动被称为Profiler跟踪。
  1、Profiler跟踪
  从开始=》所有程序=》Microsoft SQL Server 2008=》性能工具打开Profiler工具,也可以打开SQL Server Management Studio=》工具=》SQL Server Profiler。
  然后选择文件=》新建=》跟踪打开一个连接窗口,选择将要跟踪的服务器实例然后连接。打开如下“跟踪属性”对话框。
   \
  如果有许多跟踪,可以提供一个跟踪名称来帮助在以后进行分类。不同的跟踪模板可帮助建立用于不同目的的跟踪。
  打开跟踪属性窗口后,单击“事件选择”选项卡,为跟踪提供更详细的定义。