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: 通过“对象资源管理器”连接到实例,展开“管理”.“扩展事件”.“会话”. 步骤 ...
随机推荐
- Ubuntu 16下安装64位谷歌Chrome浏览器
Ubuntu 16下安装64位谷歌Chrome浏览器 1.将下载源加入到系统的源列表 在终端中,输入以下命令: sudo wget https://repo.fdzh.org/chrome/googl ...
- [SDOI 2008]Cave 洞穴勘测
Description 辉辉热衷于洞穴勘测.某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好 ...
- UpdateAfterEvent
10月3日,在杭州市西湖景区,一只小松鼠不停地接受一道道食物,花生.玉米.饼干,可谓来者不拒,憨态可掬的模样吸引了众多围观者...Description 小松鼠打了10个小时的游戏,一脸满足.却发 ...
- 【USACO】电子游戏 有条件的背包
题目描述 翰的奶牛玩游戏成瘾!本来约翰是想把她们拖去电击治疗的,但是他发现奶牛们在玩游戏后生产 了更多的牛奶,也就支持它们了. 但是,奶牛在选择游戏平台上的分歧很大:有些奶牛想买 Xbox 360 来 ...
- linux内核中的链表
1.内核中的链表 linux内核链表与众不同,他不是把将数据结构塞入链表,而是将链表节点塞入数据,在2.1内核中引入了官方链表,从此内核中所有的链表使用都采用此链表,千万不要在重复造车轮子了!链表实现 ...
- UVA 11584 划分回文字串
将其划分为尽可能少的回文串 dp[i] = min(dp[i],dp[j] + 1) 来表示j+1~i是回文串 #include <iostream> #include <cs ...
- PHP 扩展开发检测清单(扩展开发必读)
想要做出一个成功的 PHP 扩展包,不仅仅是简单的将代码放进文件夹中就可以了,除此之外,还有非常多的因素来决定你的扩展是否优秀.以下清单的内容将有助于完善你的扩展,并且在 PHP 社区中得到更多的重视 ...
- 使用EasyNetQ组件操作RabbitMQ消息队列服务
RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现,是实现消息队列应用的一个中间件,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合, ...
- js生成四位随机数的简便方法
do out = Math.floor(Math.random()*10000); while( out < 1000 ) alert( out );
- jQuery extend 方法使用 (转)
方法介绍 jQuery 的 API 手册中,extend 方法挂载在 jQuery 和 jQuery.fn 两个不同的对象上,但在 jQuery 内部代码实现的是相同的,只是功能各不相同. 先看看官方 ...