--==============================================================
--使用XEvent来捕获在数据库DB1上发生的锁请求和锁释放
--==============================================================
--查看锁相关的事件
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.name LIKE '%LOCK%'
 
--找到要研究的锁行为
--lock_acquired
--lock_released
--=============================================================
 
--创建回话[XE_LockMonitor]
--回话捕获在数据库DB1上发生的锁请求和锁释放
IF EXISTS(
   SELECT *FROM sys.server_event_sessions
   WHERE name='XE_LockMonitor'
)
BEGIN
DROP EVENT SESSION [XE_LockMonitor] ON SERVER;
END
GO
 
CREATE EVENT SESSION [XE_LockMonitor] ON SERVER
ADD EVENT sqlserver.lock_acquired(
    ACTION(sqlserver.database_id,sqlserver.database_name,sqlserver.sql_text)
    WHERE ([sqlserver].[database_name]=N'DB1')),
ADD EVENT sqlserver.lock_released(
    ACTION(sqlserver.database_id,sqlserver.database_name,sqlserver.sql_text)
    WHERE ([sqlserver].[database_name]=N'DB1'))
ADD TARGET package0.event_file(SET filename=N'E:\DB\XE_LockMonitor.xel')
WITH (STARTUP_STATE=OFF)
GO
--=============================================================
--启动回话
ALTER EVENT SESSION [XE_LockMonitor] ON SERVER
STATE=START;
GO
--=============================================================
USE DB1
GO
SELECT * FROM dbo.TB1
GO
--=============================================================
--停止回话
ALTER EVENT SESSION [XE_LockMonitor] ON SERVER
STATE=STOP;
GO
--=============================================================
--由于XEevent使用XML来存储结果,因此可以使用TSQL来查看结果,但是实现相对复杂
 
--使用SSMS在扩展回话事件里查看数据

转载于:https://www.cnblogs.com/TeyGao/p/3519621.html

XEvent--Demo--使用XEvent来捕获在数据库DB1上发生的锁请求和锁释放相关推荐

  1. 微信小程序的考勤管理Demo,包括前后端及数据库等内容

    这是一个微信小程序的考勤管理Demo,包括前后端及数据库等内容.如有错误或建议,欢迎指出. 前端:微信小程序框架 后端:koa框架基于express的新一代框架 文件:url80.ctfile.com ...

  2. mysql数据库支持的锁粒度包括_1. Mysql的并发(锁策略、锁粒度、事务)

    并发控制 在处理并发读或者写时,可以通过实现一个由两种类型的锁组成的锁系统来解决问题.这俩种系统的锁通常被称为共享锁(shared lock)和排他锁(exclusive lock),也叫读锁(rea ...

  3. mysql数据库的行级锁有几种_数据库行级锁和表锁区别

    MyISAM和InnoDB MyISAM MyISAM使用B+tree作为索引结构,叶节点存放的是数据地址. MyISAM不支持事务和外键. MyISAM是表锁,对数据库写操作时会锁住整个表,效率低. ...

  4. Layui表格内图片渲染以及上传图片到数据库(上)

    Layui表格内图片渲染以及上传图片到数据库(上) 文献种类:专题技术文献; 开发工具与关键技术:VS Layui框架是现在用的范围比较广的一个,那么今天实现是在layui表格中渲染图片! 首先看一下 ...

  5. 浅谈数据库乐观锁、悲观锁

    来自:非科班的科班 并发问题 当程序中出现并发的问题时,我们就要有相应的手段保证数据的正确性,防止多个用户在操作数据的时候,出现和预期数据不一样的现象,产生脏数据,在数据库的层面如果没有做好并发控制, ...

  6. 阿里云HBase全新发布X-Pack NoSQL数据库再上新台阶

    一.八年双十一,造就国内最大最专业HBase技术团队 阿里巴巴集团早在2010开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储.持续8年的投入,历经8年双十一锻 ...

  7. 数据库事务的悲观锁和乐观锁

    转载出处:http://www.hollischuang.com/archives/934 在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数 ...

  8. mysql锁与程序锁_数据库加锁(转)

    1 如何锁一个表的某一行 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT * FROM table ROWLOCK WHERE id = ...

  9. java mysql 分布式锁_Java分布式锁之数据库方式实现

    之前的文章<Java分布式锁实现>中列举了分布式锁的3种实现方式,分别是基于数据库实现,基于缓存实现和基于zookeeper实现.三种实现方式各有可取之处,本篇文章就详细讲解一下Java分 ...

最新文章

  1. 全球计算机与工程学科排名:MIT夺冠 中国23所高校上榜
  2. 08 comet反向ajax
  3. 工厂方法(Factory Pattern)
  4. Debian 7 Wheezy 安装 VirtualBox
  5. linux基础(四)——任务调度cron和anacron
  6. ttf字体文件裁剪,字体文件压缩,字体文件提取
  7. macOS Monterey 12.0 Beta5 (21A5304g) 虚拟机 ISO 镜像
  8. 计算机四级网络工程师缺页啥意思,2019年计算机四级网络工程师试题
  9. php 增加空行,php 替换空行 不匹配空行
  10. KubeSphere DevOps 流水线入门指南
  11. Linux下关于snmp的snmpwalk命令
  12. Silverlight游戏特效开发(一) : 制作人物光环效果
  13. CG共轭梯度下降法【学习笔记、例题与代码】
  14. C语言画伯德图程序,已知系统的传递函数,试绘制系统的伯德图。 (1) (2)
  15. 使用pytorch版faster-rcnn训练自己数据集
  16. Bearer token
  17. 12月20日的贷款结息
  18. c# 游戏设计:地图移动
  19. 安卓盒子刷rec linux启动,ADB命令刷入recovery刷机
  20. 体系结构框架建模工具系统

热门文章

  1. ScrollView 分割屏幕效果
  2. java Socket Tcp示例三则(服务端处理数据、上传文件)
  3. 政府门户升级改版要点
  4. 菜鸟涂鸦作品展_No.27
  5. Textview的3种事件
  6. Flutter入门三部曲(3) - 数据传递/状态管理 | 掘金技术征文
  7. 关于iOS APP 需要支持ipv6-only 开发者需要做的事情
  8. 五、oracle 表的管理
  9. ASP.NET文件下载
  10. ireport 找不到子报表:Could not load object from location