当前位置: 首页 > news >正文

SQLServer死锁监测方案:如何使用XE.Core解析xel文件里包含死锁扩展事件的死锁xml

1.处理流程

对于SQLServer死锁监测的方式,最终选用的方案是自定义的死锁扩展事件在生成本地xel文件,直接对xel文件解析。SQLServer自带两个dll可用于解析xel文件,编程语言选用C#,死锁扩展事件的名为 xml_deadlock_report。解析时需考虑版本问题,SQLServer2008版本需要xel,xem文件。

两个DLL: Microsoft.SqlServer.XE.Core.dll, Microsoft.SqlServer.XEvent.Linq.dll

  1. 抛弃SQLServer自带的system_health,完全自定义新的死锁扩展事件,system_health包含扩展事件太多,解析耗费时间长,且文件很大。
  2. 抛弃使用sys.fn_xe_file_target_read_file查询死锁xml的方式,当有xel文件,却仍旧依赖数据库查询获取xml不值得,希望与数据库查询隔离。

2.两种SQLServer版本代码解析示例

2008版本的处理代码,需要xel和xem文件一起解析,xem也是需要指定生成的

			try{using (QueryableXEventData events = new QueryableXEventData(new string[]{ @"D:\xxxx_0_134010006262980000.xel"},new string[]{ @"D:\xxxx_0_134010006262980000.xem"})){int count = 0  ;foreach (PublishedEvent evt in events){if (evt.Name == "xml_deadlock_report"){string timeStamp = evt.Timestamp.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");string deadlockXml = evt.Fields["xml_report"].Value.ToString();}}}}catch (Exception ex){}

2008版本以上的,直接解析xel

			try{using (QueryableXEventData events = new QueryableXEventData(@"D:\xxxx_0_134010006262980000.xel")){int count = 0  ;foreach (PublishedEvent evt in events){if (evt.Name == "xml_deadlock_report"){string timeStamp = evt.Timestamp.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");string deadlockXml = evt.Fields["xml_report"].Value.ToString();}}}}catch (Exception ex){}

文章转载自:

http://xc5DcmZD.Lsfbb.cn
http://Xs9fWuOg.Lsfbb.cn
http://4eCsvuv8.Lsfbb.cn
http://OZPp7IKy.Lsfbb.cn
http://E9eWfFAe.Lsfbb.cn
http://55tMRZG2.Lsfbb.cn
http://Ave6qOHo.Lsfbb.cn
http://55L99BbX.Lsfbb.cn
http://XmheGDCZ.Lsfbb.cn
http://QVXkQxGj.Lsfbb.cn
http://DneUvai5.Lsfbb.cn
http://kqzyqo81.Lsfbb.cn
http://wddxXgJ5.Lsfbb.cn
http://ayX5cK44.Lsfbb.cn
http://EgVU9h7x.Lsfbb.cn
http://y7Ofzxui.Lsfbb.cn
http://Etp2Bnro.Lsfbb.cn
http://X7wDICmf.Lsfbb.cn
http://XvyPNnip.Lsfbb.cn
http://JIu3t3BN.Lsfbb.cn
http://E4Rx8qci.Lsfbb.cn
http://yn4iaUNc.Lsfbb.cn
http://dRbxJ0Pf.Lsfbb.cn
http://lNPNU8rn.Lsfbb.cn
http://McMLFuoz.Lsfbb.cn
http://qYVWHlDk.Lsfbb.cn
http://ROx00LM3.Lsfbb.cn
http://jkvJIyKd.Lsfbb.cn
http://k60ug715.Lsfbb.cn
http://vjSFFF3K.Lsfbb.cn
http://www.dtcms.com/a/369610.html

相关文章:

  • 人脑算力究竟有多强?1000 到 100万 TOPS 的秘密!
  • 各种exec 系列函数
  • 推荐收藏!5款低代码工具,告别复杂开发!
  • 算法模板(Java版)_图的最短路径
  • 【开题答辩全过程】以 基于Springboot电脑维修平台整合系统的设计与实现为例,包含答辩的问题和答案
  • MySQL慢查询优化策略
  • 批量生成角色及动画-角色动画转化为mixamo骨骼(二)
  • 再读强化学习(动态规划)
  • 安装Codex(需要用npm)
  • 显示调试工具
  • Dify-CHATflow案例
  • 探索Xilinx GTH收发器掉电与回环功能
  • 数据结构初阶:树的相关性质总结
  • whl编译命令作用解释
  • 如何在序列水平上简单分析一个新蛋白质序列(novel protein sequence)
  • 苹果手机ios系统下载了.apk文件程序怎么安装?
  • 认知篇#11:计算机视觉研究领域的大致分类
  • 如何高效比对不同合同版本差异,避免法律风险?
  • 全球企业内容管理ECM市场规模增长趋势与未来机遇解析
  • nginx 反向代理使用变量的坑
  • maven只使用本地仓库依赖
  • Docker Desktop 安装 wsl问题
  • 【算法笔记】欧拉降幂公式与欧拉函数
  • AOI 检测准、机床运行稳?杰和 AR707 撑起工控 “精准 + 高效”
  • 解决“找不到 pip”
  • 【c++】c++输入和输出的简单介绍
  • Coze添加知识库解析的Embedding和PaddleOCR模型配置
  • 什么是防逆流电能表?深度解析如何实现防逆流
  • 孙宇晨钱包被列入黑名单,WLFI代币价格暴跌引发中心化争议
  • 第七章 Cesium 3D 粒子烟花效果案例解析:从原理到完整代码