SQL 扩展事件】的更多相关文章

在本篇,我通过使用新建“Session ”对话框来创建新的扩展事件会话.定义一个自己的扩展事件,动作和谓词,并且发布一个以收集事件数据为目的的会话. 首先从UI开始 在SQLServer2008R2以后(不包括2008R2),才引入扩展事件的内置UI.2008的版本可以通过安装插件的形式或者使用T-sql语句来实现扩展事件.如果是2012以后的SSMS客户端,也可以访问2008 的数据库实例,但是看不到扩展事件UI.在2008版本中缺少UI,意味着必须写T-SQL和XQuery来挖掘事件数据.2…
我们通过SQL Server 2012图形界面来部署一个扩展事件跟踪会话.然后可以生成SQL脚本,在2008或2008 R2版本下运行类似的跟踪. 步骤1: 通过“Object Explorer”连接到实例,展开“Management”.“Extended Events”.“Sessions”. 步骤2: 右键点击“Sessions”,创建一个新的会话向导. 步骤3: 输入会话名称“Deadlock_Monitor”,点击下一步. 步骤4: 选择不使用模板(像SQL Server Profile…
    SQL Server中使用扩展事件捕捉所需的信息后,可以选择存放的位置.比如说内存或文件中,但无论存在哪里,其本质都是一个大XML.因此在SQL Server中读取该XML就是解析扩展事件结果的方式.     微软官方或者一些SQL Server论坛提供了使用SQL XML解析扩展事件的脚本,如代码清单1所示. 1: WITH events_cte 2: AS ( SELECT DATEADD(mi, 3: DATEDIFF(mi, GETUTCDATE(), CURRENT_TIMES…
由于工作需要,决定深入研究SQL Server的扩展事件(Extended Events/xEvents),经过资料搜索,发现国外大牛的系列文章,作为“学习”阶段,我先翻译这系列文章,后续在工作中的心得作为原创添加.原文地址:Stairway to SQL Server Extended Events ,由于英语水平有限,如认为看原文更好,可以自行查阅.另外,在翻译过程中,我会适当增加一些自己的看法或者删除作者的某些我认为不重要.不影响学习的内容,所以不是纯粹的直译. 本系列目前包含4篇文章:第…
当遇到备份或者还原操作占用较长时间时,很多人会问: 备份/还原是不是僵死了?要不要kill掉,再重来? 到底是哪一个部分的操作占用较长时间? 到底现在进行到什么阶段了? 在SQL 2016 之前,要回答这些问题会比较困难一些,或者借助某些不受支持的方式.SQL 2016开始引入了新扩展事件 backup_restore_progress_trace 来跟踪备份和还原操作.我们可以使用它们来观察备份和还原的更详细的信息. 备份 先创建一个XE Session观察备份: CREATE EVENT S…
SQL Server 扩展事件(Extended Event)是用于服务器的常规事件处理系统,是追踪SQL Server系统运行状态的神器,同时也是一个日志记录工具,扩展事件完全可以取代SQL追踪(SQL Trace),扩展事件的设计功能: 由于扩展事件引擎不识别事件,因此,引擎可以将任何事件绑定到任何目标,因为引擎不受事件内容约束. 事件与事件使用者不同,后者在扩展事件中称为“目标”(Target),也就是说任何目标可以接收任何事件.此外,引发的任何事件均可供目标自动使用,这样可以记录或提供额…
本文属于 SQL Server 扩展事件(Extented Events)从入门到进阶 系列 在第一二节中,我们创建了一些简单的.类似典型SQL Trace的扩展事件会话.在此过程中,介绍了很多扩展事件基础组件,包括事件.谓词.操作和目标.本节,将对扩展事件引擎.架构和基本组件做更加深入的了解.通过这些讲解,可以大概了解到为什么扩展事件相对于SQL Trace来说更加低开销.另外,还会延时如何设计事件会话从而最小化事件收集过程中的不必要开销,即使这些事件会话会很复杂. 事件数据收集生命周期: 扩…
本文属于 SQL Server扩展事件(Extended Events)从入门到进阶 系列 对于接纳扩展事件,其中一个最大的障碍就是要对XML和XQuery有一定的了解以便分析数据.我们可以使用T-SQL来完成创建和运行会话,但是不管会话的存在目的是什么,数据都被编译成XML.但是从SQL 2012开始就去除了这种限制.我们通过上一文中介绍的,可以用GUI对扩展事件进行创建和管理,同样,在本文中,我们演示如何在SSMS GUI中查看的操作捕获的结果数据. 查看数据: 当创建和启用扩展事件会话之后…
本文属于 SQL Server 扩展事件(Extented Events)从入门到进阶 系列 第一篇文章中提到了如何在Profiler中创建跟踪(trace),并以服务器端(server-side)跟踪方式运行以便在服务器上创建实际跟踪文件.接着把跟踪定义转换到扩展事件的CREATE EVENT SESSION脚本中. 上一篇文章可以成为你从SQL Trace通往扩展事件(Extented Events/xEvents,为后续编写方便,本人尽可能使用xEvents替代扩展事件)的桥梁.同时,上文…
事情起因: 排查SQL Server上的死锁问题,一开始想到的就是扩展事件, 第一种方案,开profile守株待兔吧,显得太low了,至于profile的变种trace吧,垂垂老矣,也一直没怎么用过. 第二种方案是开启TRACE flag(DBCC TRACEON (3605,1204,1222,-1))将死锁写入error log,也是个不错的选择. 不过想到系统默认的扩展事件system_health已经捕获了死锁信息(sqlserver.xml_deadlock_report), 就没必要…