--SQL Server 扩展事件具有高度可伸缩且高度可配置的体系结构,
--使用户能够按需收集解决性能问题或确定性能问题所需的信息。
--1. 性能损耗小
--2. 可配置性高
--3. 可捕获底层事件
 
--=====================================================
--SQL Server 扩展事件包
--包是用于SQL Server 扩展事件对象的容器。
--扩展事件包有三种类型
----package0 - 扩展事件系统对象。这是默认包。
----sqlserver - SQL Server 相关对象。
----sqlos - SQL Server 操作系统(SQLOS) 相关对象。
--查看扩展事件包
SELECT * FROM sys.dm_xe_packages P
 
--每个事件包包括:事件,目标,操作,类型,谓词,映射
 
 
--通道
--通道用于标识事件的用户
 
--关键字
--关键字是特定于应用程序的,并且使得对相关事件的分组更加细化,
--这样您能更容易地指定和检索要在会话中使用的事件
--获取关键字信息
select map_value Keyword from sys.dm_xe_map_values
where name = 'keyword_map'
 
--目标
--目标是指事件使用者。目标在触发事件的线程中同步处理事件
--或在系统提供的线程中异步处理事件。通常,在必须保持特定
--数据排序时将使用同步处理。扩展事件提供了多个目标,您可
--以根据需要将其用于定向事件输出
 
--操作
--操作是对事件做出的一个编程方式的响应或一系列响应。
--操作与事件绑定在一起,并且每个事件都可能具有唯一的一组操作。
 
--谓词
--谓词是一组逻辑规则,用于在处理事件时计算这些事件。
--这可以使扩展事件用户根据特定条件有选择地捕获事件数据。
 
--类型
--由于数据是排列在一起的字节集合,因此需要使用字节集合的长度和特征来解释这些数据
SELECT
DISTINCT OB.object_type
FROM sys.dm_xe_objects OB
 
--映射
--映射表用于将内部值映射到字符串,这使用户可以知道该值代表什么。
--用户可以获得关于内部值真正含义的说明,而不是只能够获取数值。
SELECT map_key, map_value
FROM sys.dm_xe_map_values
 
--查看扩展事件
SELECT xp.[name] AS [Package_Name], xo.*
FROM sys.dm_xe_objects xo
INNER JOIN sys.dm_xe_packages xp
ON xp.[guid] = xo.[package_guid] 
WHERE xo.[object_type] = 'action'
ORDER BY xp.[name];
 
--查看某个扩展对象的列
SELECT *
FROM sys.dm_xe_object_columns
 
--============================================
 
--会话会话是一种将多个扩展事件对象链接到
--一起进行处理的方法—事件包含动作,将被目标所消耗。
--会话可链接任何注册的数据包中的对象,任何数量的会话
--都可以使用同一个事件、动作等。
--查看会话
SELECT * FROM sys.dm_xe_sessions;
Go
 
--在性能考虑方面涉及到
--1.那些事件需要被监控,这些事件的触发频率
--2.如何消耗事件,使用异步还是同步
--3.如果处理事件丢失(如果没有足够的内存来缓冲某个事件,是否可将其直接丢弃或强制其不丢失)
 
--事件的周期
 
--1.执行检查以查看是否有任何扩展事件会话正在监控该事件。如果没有,控制权将返给包含该事件的代码,然后继续进行处理。
--2.确定事件的负载,将所需的全部信息都收集到内存中—换言之,构建事件的负载。
--3.如果为该事件定义了任何谓词,则执行它们。此时,谓词结果可能是不应消耗该事件。如果是这种情况,控制权将返给包含该事件的代码,然后继续进行处理。
--4.此时系统已得知事件将被消耗,因此将执行链接到该事件的所有动作。现在事件已具有完整的负载,已为消耗做好准备。
--5.将事件提供给同步目标(如果有的话)。
--6.如果存在任何异步目标,将会缓冲该事件以便随后进行处理。
--7.控制权将返给包含该事件的代码,然后继续进行处理。

XEvent--基础的更多相关文章

  1. 信安周报-第02周:SQL基础

    信安之路 第02周 Code:https://github.com/lotapp/BaseCode/tree/master/safe 前言 本周需要自行研究学习的任务贴一下: 1.概念(推荐) 数据库 ...

  2. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  3. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  6. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  7. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  8. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  9. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  10. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. jquery内容补充

    jquery除了咱们上面讲解的常用知识点之外,还有jquery 插件.jqueryUI知识点 jqueryUI 官网: https://jqueryui.com/ jqueryUI 中文网: http ...

  2. 关于Ceph现状与未来的一些思考

    http://blog.csdn.net/mightysheldor/article/details/51093476 Ceph从2004年提交了第一行代码,至今为止已经10年了.这个起源于Sage博 ...

  3. hive 创建/删除/截断 表(翻译自Hive wiki)

    这里罗列常用操作,更多参考 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL- ...

  4. Nginx实战入门教程

    Nginx 简介 Nginx是一个高性能的http和反向代理服务器,它看起来好像不太符合英文单词的拼写习惯,因为Nginx是由名为 伊戈尔·赛索耶夫 的俄罗斯人开发的.Nginx主要特点为占用内存小, ...

  5. Navicat 入门使用方法

    Navicat 多重连接数据库的管理工具,支持连接到(MySQL.Oracle.PostgreSQL.SQLite .MariaDB )多类数据库,也支持多类数据库的管理和使用 1.Navicat 主 ...

  6. django-渲染页面+locals

    from django.shortcuts import render, redirect from django.views import View from django.http import ...

  7. MySQL GTID (四)

    七. GTID的限制以及解决方案 7.1 事务中混合多个存储引擎,会产生多个GTID. 当使用GTID,在同一个事务中,更新包括了非事务引擎(MyISAM)和事务引擎(InnoDB)表的操作,就会导致 ...

  8. UNITY 复制对象后局部坐标和世界坐标的变化问题

    void Start () { var pgo = transform.Find ("Button").gameObject; obtn = Instantiate (pgo); ...

  9. 初步认识cookie

    cookie是由服务器创建,客户端读取及保存它的 同类请求指的是资源路径相同 Cookie的默认路径绑定是所请求的资源路径绑定的 ,指定路径时必须要有项目名称(说明是哪个项目) 使用cookie时还要 ...

  10. lda spark 代码官方文档

    http://spark.apache.org/docs/1.6.1/mllib-clustering.html#latent-dirichlet-allocation-lda http://spar ...