SQL Server 扩展事件(Extented Events)从入门到进阶(3)——通过界面操作Extented Event
查看数据:
- query_hash:使用相似逻辑但独立计划的方式标识查询
- query_plan_hash:标识具有相同操作树结构的独立计划
CREATE EVENT SESSION [XE_SampleCapture] ON SERVER ADD EVENT sqlserver.rpc_completed ( ACTION ( sqlserver.database_id, sqlserver.query_hash, sqlserver.query_plan_hash ) WHERE ( [sqlserver].[is_system] = ( 0 ) ) ), ADD EVENT sqlserver.sp_statement_completed ( SET collect_statement = ( 1 ) ACTION ( sqlserver.database_id, sqlserver.query_hash, sqlserver.query_plan_hash ) WHERE ( [sqlserver].[is_system] = ( 0 ) ) ), ADD EVENT sqlserver.sql_batch_completed ( ACTION ( sqlserver.database_id, sqlserver.query_hash, sqlserver.query_plan_hash ) WHERE ( [sqlserver].[is_system] = ( 0 ) ) ), ADD EVENT sqlserver.sql_statement_completed ( ACTION ( sqlserver.database_id, sqlserver.query_hash, sqlserver.query_plan_hash ) WHERE ( [sqlserver].[is_system] = ( 0 ) ) ) ADD TARGET package0.event_counter, ADD TARGET package0.event_file ( SET filename = N'D:\temp\XE_SampleCapture' , max_file_size = ( 512 ) ), ADD TARGET package0.histogram ( SET filtering_event_name = N'sqlserver.sql_statement_completed' , slots = ( 16 ) , source = N'sqlserver.database_id' ), ADD TARGET package0.ring_buffer ( SET max_events_limit = ( 10000 ) , max_memory = ( 4096 ) ) WITH ( MAX_MEMORY = 16384 KB , EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS , MAX_DISPATCH_LATENCY = 30 SECONDS , MAX_EVENT_SIZE = 0 KB , MEMORY_PARTITION_MODE = NONE , TRACK_CAUSALITY = ON , STARTUP_STATE = OFF ); GO
Live data viewer(监控实时数据):
Target data viewer(查看目标数据):
对于一个“event_file”目标,相对于“监控实时数据”而言有一个好处,就是不需要要求SQL Server把数据流加载到SSMS或者目标中,只是读取目标中已经存储的数据。
存储在“event_file”目标中的事件数据可以在事件会话停止之后查看,因为数据已经固化在硬盘的.xel文件中。可以把.xel文件拖拽到SSMS或其他方式在SSMS中打开。“system_health”事件的.xel文件路径在默认error log文件夹。
直接打开.xel文件的结果和“监控实时数据”查看器、“目标查看器”看上去基本一样,除了窗口名不同。窗口名是显示.xel文件的名字,而不是其他两者一样以“event_file”为后缀。
从目标数据中查看ring_buffer目标:
当查看“ring_buffer”目标时,使用查看目标数据功能并不能很好地展示,因为整个XML文档以链接的方式显示。
点开链接之后结果类似下面这样:
查看“event_counter”、“histogram”和“pair_matching”目标:
最后三个目标:event_counter”、“histogram”和“pair_matching”,只能使用目标查看器或XQuery来查看或分析数据,在我们的XE_SqmpleCapture会话事件中,或其他带有“histogram”目标的事件会话,右键这个目标,然后用查看目标数据来查看:
显示选项:定制列
在每一个查看器中,都可以定制化需要显示的列。默认情况下仅显示事件的“name”和“timestamp”,这两个列是唯一适合所有事件的数据列。当选择任何一行数据时,下方的【详细信息】框会显示对应对应的事件收集列。如果要显示某一额外列,可以【详细信息】中的对应的行,选择【选择表中的列】,比如下图,选择【duration】列之后,就显示出来了。
分析数据:
排序:
过滤:
合并.xel文件:
搜索:
标记行:
分组:
- event(事件名)
- object_name或者object_id
- database_name或database_id
- 登录列(如username,nt_username)
- client_app_name
- client_hostname
聚合:
总结:
- SQL Server 扩展事件(Extented Events)从入门到进阶(4)——扩展事件引擎——基本概念
SQL Server 扩展事件(Extented Events)从入门到进阶(3)——通过界面操作Extented Event的更多相关文章
- SQL Server 扩展事件(Extented Events)从入门到进阶(1)——从SQL Trace到Extented Events
由于工作需要,决定深入研究SQL Server的扩展事件(Extended Events/xEvents),经过资料搜索,发现国外大牛的系列文章,作为“学习”阶段,我先翻译这系列文章,后续在工作中的心 ...
- SQL Server 扩展事件(Extented Events)从入门到进阶(4)——扩展事件引擎——基本概念
本文属于 SQL Server 扩展事件(Extented Events)从入门到进阶 系列 在第一二节中,我们创建了一些简单的.类似典型SQL Trace的扩展事件会话.在此过程中,介绍了很多扩展事 ...
- SQL Server 扩展事件(Extented Events)从入门到进阶(2)——在GUI中创建基础扩展事件
本文属于 SQL Server 扩展事件(Extented Events)从入门到进阶 系列 第一篇文章中提到了如何在Profiler中创建跟踪(trace),并以服务器端(server-side)跟 ...
- SQL Server 扩展事件
SQL Server 扩展事件(Extended Event)是用于服务器的常规事件处理系统,是追踪SQL Server系统运行状态的神器,同时也是一个日志记录工具,扩展事件完全可以取代SQL追踪(S ...
- SQL Server扩展事件-- 使用system_health默认跟踪会话监控死锁
SQL Server扩展事件(Extended Events)-- 使用system_health默认跟踪会话监控死锁 转自:http://blog.51cto.com/ultrasql/160037 ...
- SQL Server扩展事件system_health会话总结
system_health会话概念 我们知道扩展事件(Extended Events)是从SQL Server 2008开始引入的.system_health会话是SQL Server默认包含的扩展事 ...
- 使用SQL Server 扩展事件来创建死锁的时间跟踪
我们通过SQL Server 2012图形界面来部署一个扩展事件跟踪会话.然后可以生成SQL脚本,在2008或2008 R2版本下运行类似的跟踪. 步骤1: 通过“Object Explorer”连接 ...
- SQL Server扩展事件的使用ring_buffer target时“丢失”事件的原因分析以及ring_buffer target潜在的问题
事情起因: 排查SQL Server上的死锁问题,一开始想到的就是扩展事件, 第一种方案,开profile守株待兔吧,显得太low了,至于profile的变种trace吧,垂垂老矣,也一直没怎么用过. ...
- 使用SQL Server 扩展事件来创建死锁的跟踪
我们通过SQL Server 2014图形界面来部署一个扩展事件跟踪会话.然后可以生成SQL脚本. 步骤如下: 步骤1: 通过“对象资源管理器”连接到实例,展开“管理”.“扩展事件”.“会话”. 步骤 ...
随机推荐
- CodeForces 914DBash and a Tough Math Puzzle(线段树的骚操作)
D. Bash and a Tough Math Puzzle time limit per test 2.5 seconds memory limit per test 256 megabytes ...
- swiper 应用
swiper之PC端的广告页面[当前示例对应网站:http://shang.shuaishou.com/] plugins:[红线部分] html: <div class="banne ...
- javaIO流实现文件拷贝
package com.java.demo; import java.io.*; public class CopyDemo { public static void main(String[] ar ...
- java中String类学习笔记
1.String的两种实例化方式 String str="hello";//直接赋值的方式: String str=new String("hello");// ...
- C++Primer学习——未定义行为
定义: 主要是求值顺序的问题 int i = f1() + f2(); //我们无法知道是f1 还是 f2先被调用 而且求值顺序和优先级和结合律无关,比如: f() + g()*h( ...
- C++函数式编程实现牛顿法
In numerical analysis, Newton's method (also known as the Newton–Raphson method), named after Isaac ...
- day5 liaoxuefeng---virtualenv、图形界面、网络编程、电子邮件
一.virtualenv 二.图形界面 三.网络编程 四.电子邮件
- python正则表达式与Re库
正则表达式是用来简洁表达一组字符串的表达式,一行胜千言,有点类似于数列的通项公式. 在python中提供了re库(regular expression)即正则表达式库,内置于python的标准库中,导 ...
- C# 枚举在项目中使用心得
阅读目录 基本介绍 使用注意 使用方法 扩展用法 本文主要是我在项目中对C#枚举的使用心得,如有不足的地方欢迎您指出. 一.基本介绍 枚举是由一组特定常量构成的一组数据结构,是值类型的一种特 ...
- JSON.NET的Self referencing loop detected with type的原因以及解决办法
模型中有循环引用是很常见的.例如,以下模型显示双向导航属性: : public class Category : { : public Category() : { : Products = new ...