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: 通过“对象资源管理器”连接到实例,展开“管理”.“扩展事件”.“会话”. 步骤 ...
随机推荐
- springboot AOP全局拦截日志记录
@Aspect@Component@Slf4jpublic class WebLogAspect { @Pointcut("execution(public * com.we.control ...
- 贼有意思[最长上升公共子序列](SAC大佬测试题)
题目描述Awson 最近越来越蠢了,一天就只知道 zyys.他定义了一个 zyys 数列:这个数列满足:1.是另外两个数列 A,B 的公共子序列;2.数列单调递增.现在他有一个问题,我们假设知道两个长 ...
- bzoj 4567: [Scoi2016]背单词
Description Lweb 面对如山的英语单词,陷入了深深的沉思,"我怎么样才能快点学完,然后去玩三国杀呢?".这时候睿智 的凤老师从远处飘来,他送给了 Lweb 一本计划册 ...
- 【LSGDOJ 1408】邮局
题目描述 一些村庄被建在一条笔直的高边公路边上.我们用一条坐标轴来描述这条高边公路,每一个村庄的坐标都是整数.没有两个村庄坐标相同.两个村庄问的距离,定义为它们坐标值差的绝对值. 我们需要在一些村庄建 ...
- ●BZOJ 3123 [Sdoi2013]森林
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3123 题解: 主席树,在线,启发式合并 简单版(只有询问操作):[2588: Spoj 10 ...
- UVA12186
给出一个树状关系图,公司里只有一个老板编号为0,其他人员从1开始编号.除了老板,每个人都有一个直接上司,没有下属的员工成为工人. 工人们想写一份加工资的请愿书,只有当不少于员工的所有下属的T%人递交请 ...
- Codeforces Round #438 C. Qualification Rounds
Description Snark and Philip are preparing the problemset for the upcoming pre-qualification round f ...
- bzoj4558[JLoi2016]方 容斥+count
4558: [JLoi2016]方 Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 452 Solved: 205[Submit][Status][D ...
- java 之 MyBatis(sql 可以执行,在eclipse执行报错问题)
前段时间写 mybatis Sql 查询语句的时候,发现一个很奇怪的现象,我写的SQL 语句在 pl/Sql 中明明可以执行,但是放到 eclipse 中执行却报错,因为时间比较久,依稀记得是文字与字 ...
- 在QEMU中调试ARM程序【转】
转自:http://linuxeden.com/html/develop/20100820/104409.html 最近我想调试一个运行在QEMU模拟ARM系统中的Linux程序.我碰到过一些麻烦,因 ...