SQL死锁进程内容查询语句

news2024/11/25 16:46:50

1.方式1

SELECT   object_name(A.resource_associated_entity_id) as TABLENAME, A.request_session_id AS SPID,
         DB_NAME(B.dbid) AS DBName,B.blocked,B.dbid,B.program_name,B.waitresource,B.lastwaittype,
	     B.loginame,
	     B.hostname,B.login_time,B.last_batch--,B.*
FROM  sys.dm_tran_locks  A  ,sys.sysprocesses B
WHERE resource_type = 'OBJECT' 
     AND request_session_id =B.spid  AND blocked >0

在这里插入图片描述

2.方式2

 SELECT spid, blocked,sp.dbid, DB_NAME(sp.dbid) AS DBName, object_name(A.resource_associated_entity_id) as TABLENAME,
	program_name,
	waitresource,
	lastwaittype,
	sp.loginame,
	sp.hostname,
	a.[Text] AS [TextData],
	SUBSTRING (
		A. TEXT,
		sp.stmt_start / 2,
		(
			CASE WHEN sp.stmt_end = - 1 THEN DATALENGTH (A. TEXT) ELSE sp.stmt_end END - sp.stmt_start
		) / 2
	) AS [current_cmd] ,object_name(C.resource_associated_entity_id) as TABLENAME
	FROM sys.sysprocesses AS sp OUTER APPLY sys.dm_exec_sql_text (sp.sql_handle) AS A ,sys.dm_tran_locks C
	WHERE spid > 50  AND blocked >0   AND request_session_id =spid AND resource_type = 'OBJECT' 
	ORDER BY blocked DESC,
	DB_NAME(sp.dbid) ASC,
	a.[text];

在这里插入图片描述

3.建立定时LOG记录,避免发生的时候无法抓取

--建立LOG表
CREATE TABLE A_LOCK_LOG		                       
(
   login_time  DATETIME ,
   last_batch  DATETIME,
   spid INT, 
   blocked INT,
   TABLENAME  VARCHAR(6000),
   dbid  INT,
   DBName VARCHAR(6000),
   program_name VARCHAR(6000),
   waitresource VARCHAR(6000),
   lastwaittype VARCHAR(6000),
   loginame VARCHAR(6000),
   hostname VARCHAR(6000),
   TextData VARCHAR(6000),
  current_cmd VARCHAR(6000),
  CREATION_DATE		DATETIME	DEFAULT GETDATE()-- 创建时间(派令日期)
);
--建立定时作业的进行记录资料
INSERT INTO A_LOCK_LOG(login_time,last_batch,spid,blocked,TABLENAME,dbid,DBName,program_name,waitresource,lastwaittype,loginame,hostname,TextData,current_cmd)
   SELECT login_time,last_batch,spid, blocked,object_name(C.resource_associated_entity_id) as TABLENAME,sp.dbid, DB_NAME(sp.dbid) AS DBName, 
	       program_name,waitresource,lastwaittype,sp.loginame,sp.hostname,
		   a.[Text] AS [TextData],
	      SUBSTRING ( A. TEXT,sp.stmt_start / 2,(CASE WHEN sp.stmt_end = - 1 THEN DATALENGTH (A. TEXT) ELSE sp.stmt_end END - sp.stmt_start) / 2) AS [current_cmd] 
	FROM sys.sysprocesses AS sp OUTER APPLY sys.dm_exec_sql_text (sp.sql_handle) AS A ,sys.dm_tran_locks C
	WHERE spid > 50  AND blocked >0   AND request_session_id =spid AND resource_type = 'OBJECT' 
	ORDER BY blocked DESC,
	DB_NAME(sp.dbid) ASC,
	a.[text];

在这里插入图片描述
4.模拟上锁机制

ALTER PROCEDURE [dbo].[Test]--
     @ERR_NO     INT              OUTPUT,
     @ERR_DESC   NVARCHAR(4000)   OUTPUT

AS
BEGIN
 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; -- 设置事务隔离级别为 Serializable
    
    BEGIN TRANSACTION;

    -- 锁定目标表
    SELECT * FROM 表名 WITH (TABLOCKX, HOLDLOCK); -- 使用 TABLOCKX 和 HOLDLOCK 提示锁定表,并保持锁定

    -- 模拟长期锁定
    WAITFOR DELAY '00:10:00'; -- 等待10分钟

    COMMIT;
END

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1021422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt5开发及实例V2.0-第四章Qt基本对话框

Qt5开发及实例V2.0-第四章Qt基本对话框 第4章 Qt 5基本对话框4.1 标准文件对话框类4.1.1 函数说明4.1.2 创建步骤 4.2 标准颜色对话框类4.2.1 函数说明4.2.2 创建步骤 4.3 标准字体对话框类4.3.1 函数说明4.3.2 创建步骤 4.4 标准输入对话框类4.4.1 标准字符串输入对话框4.4.2 …

全是模板的数据分析工具有哪些?

当一个全是模板的数据分析工具,一个以点击、拖拉拽就能制作报表的工具摆在眼前,人人都能随需分析,自定义分析,在极短的时间内实现智能数据可视化分析挖掘。SpeedBI数据分析云就是这样的一个全是模板且点击、拖拉拽做分析报表的数据…

【SpringMVC】基础部分

SpringMvc Spring MVC 是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。 MVC(Model View Controller),一种用于设计创建Web应用程序表现层的模式 Model(模型):数据模型,用于封装数据…

服务网格的面临挑战:探讨服务网格实施中可能遇到的问题和解决方案

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

Ubuntu 20.04中Nightingale二进制部署

参考博客《【夜莺监控】初识夜莺,强!》 lsb_release -r可以看到操作系统版本是20.04,uname -r可以看到内核版本是5.5.19。 sudo apt-get update进行更新镜像源。 完成之后,如下图: sudo apt-get upgrade更新软件…

JSplitPane与JTabledPane

Swing提供了一些具有特殊功能的容器 , 这些特殊容器可以用于创建一些更复杂的用户界面。 使用JSplitPane JSplitPane 用于创建一个分割面板,它可以将 一个组件(通常是一个容器)分割成两个部分,并提供一个分割条 , 用户可以拖动该分割条来调…

springboot和vue:五、RESTful服务+HTTP状态码+swagger配置

RESTful RESTful的特点 每一个URI代表一种资源客户端使用GET、POST、PUT、DELETE四种表示操作方式的动词对服务端资源进行操作:POST用于新建资源(也可以用于更新资源),PUT用于更新资源资源的表现形式是JSON或者HTML。客户端与服…

Cilium 1.11:服务网格的未来已来

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

1个G的视频能压缩到几M?视频过大这样压缩

一个G的视频能压缩到几M,具体取决于视频的质量、编码方式,以及压缩软件使用的算法。一般来说,高质量的视频压缩需要更高的比特率,这就意味着更大的文件大小。另一方面使用有效的压缩算法或降低视频的分辨率等,也可以减…

MySQL BufferPool缓存与Redo日志是如何提升事务性能的

文章目录 引言一、BufferPool缓存的作用与优势1.1 BufferPool缓存的定义与作用1.2 BufferPool缓存的作用1.3 Change Buffer 作用 二、BufferPool缓存的优势2.1 减少磁盘IO操作的次数2.2 提高数据的读取速度2.3 减轻磁盘负载,提升整体系统性能 三、BufferPool缓存的工…

全国职业技能大赛云计算--高职组赛题卷③(私有云)

全国职业技能大赛云计算--高职组赛题卷③(私有云) 第一场次题目:OpenStack平台部署与运维任务1 基础运维任务(5分)任务2 OpenStack搭建任务(15分)任务3 OpenStack云平台运维(15分&am…

R语言画图

简单记录一下 plot(lad_profile_relative$lad, lad_profile_relative$height, type"l", lwd1.5, xlabexpression(paste("LAD ", "(", m^2, m^-3, ")" )), ylab"Height (m)")X轴数据, Y轴数据 type, 标记类型 lw…

FPGA的主流技术与市场表现方面的调研报告

撰写简单的FPGA的主流技术与市场表现方面的调研报告,表达自己的认知和发展展望,500字,图片,表格除外 FPGA简介 FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,是在PAL &#xff08…

电商项目高级篇-01 elasticsearch

电商项目高级篇-01 elasticsearch 1、linux下安装elasticsearch和可视化工具 1、linux下安装elasticsearch和可视化工具 将安装好jdk1.8和tomcat的centos7下安装elasticsearch docker pull elasticsearch:7.4.2docker pull kibana:7.4.2##docker下安装软件需要配置挂载。方便…

MySQL性能优化——MYSQL执行流程

MySQL 执行流程1-5如下图。 MySQL 的架构共分为两层:Server 层和存储引擎层, Server 层负责建立连接、分析和执行 SQL。MySQL 大多数的核心功能模块都在这实现,主要包括连接器,查询缓存、解析器、预处理器、优化器、执行器等。…

简单易上手,亚马逊云科技Amazon CodeWhisperer个性化辅助功能成为开发者好帮手

Amazon CodeWhisperer介绍 Amazon CodeWhisperer是亚马逊云科技出品的一款基于机器学习的通用代码生成器,可实时提供代码建议。类似Cursor和Github Copilot编码工具。在编写代码时,它会自动根据您现有的代码和注释生成建议。从单行代码建议到完整的函数&…

离线版IP归属地查询

这里简单介绍一下Ip2regionSearcher是什么? ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust、Lua的查询绑定和 Binary、B树、内存三种查询算法! Setp1&…

【基于MBD开发模式的matlab持续集成(一)】

基于MBD开发模式的matlab持续集成 引言 或许是感受到行业内卷的愈加激烈,在传统制造和高新技术相结合的新能源领域对软件工程开发的要求也愈加提高,尤其在互联网已经大行 其道的敏捷开发,便顺其自然的被新能源的老板们所看重。 概述 本文…

moea项目的问题解决方案

报错1: (moea) aaaASUS:~/ML/paper/APG-SMOEA/code$ sh test.sh python: cant open file /home/aaa/ML/paper/APG-SMOEA/code/run_GAN-adjlvxm.py: [Errno 2] No such file or directory Finish GAN-adjlvxm on 1修改了run_benchmark.sh的line22->line23 报错2…

android去掉 原生锁屏

1. /frameworks/base/core/java/com/android/internal/widget/LockPatternUtils.java 直接 return true 2./packages/apps/Settings/src/com/android/settings/password/ScreenLockType.java 都改成 none 类型