首页 > 数据库 >MS SQL Server 排查阻塞和查找被锁语句

MS SQL Server 排查阻塞和查找被锁语句

时间:2023-05-18 18:05:00浏览次数:101  
标签:语句 CONVERT -- Server CHAR MS SQL 进程 t1

-- 方法1
SELECT
'资源类型' = t1.resource_type,
'来源数据库' = CONVERT(CHAR(25), DB_NAME(resource_database_id)),
'数据库中与资源相关联的实体的 ID' = t1.resource_associated_entity_id,
'锁模式' = t1.request_mode,  --锁的模式:S-共享锁,U-更新锁,X-排他锁,IS/IU/IX-意向共享/更新/排他锁
'被堵塞的语句' = t1.request_session_id,  
'造成左边语句堵塞的语句' = t2.blocking_session_id
FROM sys.dm_tran_locks as t1
INNER JOIN sys.dm_os_waiting_tasks as t2
ON t1.lock_owner_address = t2.resource_address;
--KILL blocking_session_id


--方法2
--1.查找blocked大于0的被锁进程, 观察并找到可疑的spid
SELECT '进程ID' = spid
, 'Windows线程ID' = kpid
, '当前状态' = CONVERT(CHAR(25), status)
, '正在阻塞请求的会话的ID' = blocked
, '当前等待时间(ms)' = waittime
, '进程的累计CPU时间' = cpu
, '进程的累计磁盘IO次数' = physical_io
, '当前正由进程使用的数据库' = CONVERT(CHAR(25), DB_NAME(dbid))
, '正在执行的命令' = CONVERT(CHAR(16), cmd)
, '工作站名称' = CONVERT(CHAR(25), hostname)
, '执行命令的用户' = CONVERT(CHAR(15), SUSER_NAME(uid))
FROM sys.sysprocesses WHERE blocked >0 ORDER BY waittime desc;
--2.依据spid查询分析此进程阻塞的源头
SELECT * FROM sys.sysprocesses WHERE spid =1204
--3.查看此spid进程执行的SQL语句
DBCC inputbuffer(1204);
--4.直接干掉死锁进程
KILL 259;

标签:语句,CONVERT,--,Server,CHAR,MS,SQL,进程,t1
From: https://www.cnblogs.com/zhaolongisme/p/17412654.html

相关文章

  • mysql事务
    事务(mysql)第一章事务概念1、事务机制在程序开发过程中有着很大的作用。在现实生活中,经常进行转账操作,分为两个步骤:转入与转出,只有当两部分都完成才认为转账成功。2、如果其中任意操作异常没有执行成功,则会导致两账户的金额不同步,造成错误,为了避免上述错误,数据库引入事务。3、......
  • 泛微CheckServer.jsp注入
    /mobile/plugin/CheckServer.jsp通过urldecode可以绕过泛微waf......
  • 从3s到25ms!看看京东的接口优化技巧,确实很优雅
    转载于:https://mp.weixin.qq.com/s/kIcBs_jE5wBnyD92K-anEQ大家好,最近看到京东云的一位大佬分享的接口优化方案,感觉挺不错的,拿来即用。建议收藏一波或者整理到自己的笔记本中,随时查阅!一、背景针对老项目,去年做了许多降本增效的事情,其中发现最多的就是接口耗时过长的问题,就集中......
  • ModuleNotFoundError: No module named 'MySQLdb'
    想用FastApi搞点东西,之前没怎么接触过python,根据pyloong大佬的文章https://pyloong.github.io/pythonic-project-guidelines/practices/web/#36-fastapi创建demo,到运行是出现了这个错误:ModuleNotFoundError:Nomodulenamed'MySQLdb'。然后各种chatGPT,bing,google,找到的都是要我......
  • java内嵌数据库hsqldb
    java内嵌数据库hsqldb介绍:jdk1.8,maven k开发软件:ideaspringboot+mybatis+hsqldb内容:1.项目搭建2.基本操作3.本地数据持久化第一步 新建maven项目导入依赖<dependencies><dependency><groupId>org.hsql......
  • Mysql--函数
    时间,日期相关函数参考:https://www.cnblogs.com/Xinenhui/p/16348570.html 一、基本函数1.1count()统计数据表中包含的记录行的总数语法:SELECTCOUNT(*)FROMt1;SELECTCOUNT(字段名)FROMt1;用法:count(*)  统计表中的总行数,无论某列有值或者空值,包含nullcou......
  • 字典遍历 dict1.values,dict1.keys,dict1.items
    ''''''dict1={'K1':'Aa','K2':'Bb','K3':'Cc'}forkindict1.keys():print(k,end='\t')print()forvindict1.values():print(v,end=&#......
  • .NET6 + EF Core + MySQL 创建实体和数据库、EFCore 数据迁移
    前言接上期文章《.NET6项目连接数据库方式方法》,有人问了我几个问题,现在就这几个问题,拓展延申一下创建实体类、数据库。把ORM框架和数据迁移都写进去。安装ORM框架,这里我们采用EFCore安装EFCore我的项目是在Linux上创建的,使用的是vscode开发工具远程开发。为了方便大家阅读和......
  • 服务器安装mysql
    数据库连接操作修改root的hostupdateusersethost=‘%’whereuser=‘root’andhost=“127.0.0.1”flushprivileges;设置不用密码updatemysql.usersetauthentication_string=’’whereuser='root'andhost='%';flushprivileges;创建新用户,并赋予所有权限create......
  • Navicat连接本地mysql报错-caching_sha2_password
     查询用户加密方式:selectuser,pluginfromuserwhereuser='root';修改用户加密方式改为mysql_native_password。alteruser'root'@'localhost'identifiedwithmysql_native_passwordby'123123';执行命令flushprivileges使权限配置项立即生效flushp......