1. -- ###### 查看被锁进程 ######
  2. select 标志,
  3. 进程ID=spid,线程ID=kpid,块进程ID=blocked,数据库ID=dbid,
  4. 数据库名=db_name(dbid),用户ID=uid,用户名=loginame,累计CPU时间=cpu,
  5. 登陆时间=login_time,打开事务数=open_tran, 进程状态=status,
  6. 工作站名=hostname,应用程序名=program_name,工作站进程ID=hostprocess,
  7. 域名=nt_domain,网卡地址=net_address
  8. from(
  9. select 标志='死锁的进程',
  10. spid,kpid,a.blocked,dbid,uid,loginame,cpu,login_time,open_tran,
  11. status,hostname,program_name,hostprocess,nt_domain,net_address,
  12. s1
  13. from master..sysprocesses a join (
  14. select blocked from master..sysprocesses group by blocked
  15. )b
  16. union all
  17. select '|_牺牲品_>',
  18. spid,kpid,blocked,dbid,uid,loginame,cpu,login_time,open_tran,
  19. status,hostname,program_name,hostprocess,nt_domain,net_address,
  20. s1
  21.  
  22. )a order by s1,s2
  23.  
  24. -- 查询锁对象
  25. , ) AS spid,
  26. ), DB_NAME (resource_database_id)) AS db_name,
  27. CASE
  28. WHEN resource_database_id = DB_ID () AND resource_type = 'OBJECT'
  29. THEN
  30. ), OBJECT_NAME (resource_associated_entity_id))
  31. ELSE
  32. ), resource_associated_entity_id)
  33. END
  34. AS object,
  35. ), resource_type) AS resource_type,
  36. ), request_type) AS request_type,
  37. ), request_mode) AS mode,
  38. ), request_status) AS status
  39. FROM sys.dm_tran_locks
  40. WHERE resource_type = 'OBJECT'
  41. , DESC
  42.  
  43. exec sp_lock
  44.  
  45. EXEC sp_who active
  46.  
  47. SELECT @@LOCK_TIMEOUT
  48.  
  49. -- ###### 查first()记录 ######
  50. -- 方法一
  51. SELECT *
  52. FROM infu_master i
  53. WHERE i.infu_master_id =
  54. ( im.infu_master_id
  55. FROM infu_master im
  56. WHERE im.infu_status IN ('R', 'I', 'S')
  57. AND im.pati_id = i.pati_id
  58. ORDER BY im.infu_master_id ASC)
  59. -- 方法二
  60. SELECT *
  61. FROM infu_master i
  62. WHERE i.infu_master_id IN (SELECT min (im.infu_master_id) AS infu_master_id
  63. FROM infu_master im
  64. WHERE im.infu_status IN ('R', 'I', 'S')
  65. GROUP BY im.pati_id)
  66. -- 方法三
  67. SELECT *
  68. FROM (SELECT im.*,
  69. ROW_NUMBER ()
  70. OVER (PARTITION BY im.pati_id ORDER BY im.infu_master_id)
  71. RN
  72. FROM infu_master im
  73. WHERE im.infu_status IN ('R', 'I', 'S')) t
  74.  
  75. -- ###### 查引起死锁的操作 ######
  76. USE master
  77. go
  78. DECLARE @spid INT
  79. --查询出死锁的SPID
  80. SELECT @spid = blocked
  81. FROM (SELECT *
  82. FROM sysprocesses
  83. ) a
  84. WHERE NOT EXISTS
  85. (SELECT *
  86. FROM (SELECT *
  87. FROM sysprocesses
  88. ) b
  89. WHERE a.blocked = spid)
  90. --输出引起死锁的操作
  91. DBCC INPUTBUFFER (@spid)
  92. --exec sp_who2
  93.  
  94. use master
  95. go
  96. declare @spid int,@bl int
  97. DECLARE s_cur CURSOR FOR
  98. ,blocked
  99. ) a
  100. ) b
  101. where a.blocked=spid)
  102.  
  103. OPEN s_cur
  104. FETCH NEXT FROM s_cur INTO @spid,@bl
  105.  
  106. begin
  107.  
  108. select '引起数据库死锁的是:
  109. )) + '进程号,其执行的SQL语法如下'
  110. else
  111. ))+ '' + '
  112. 进程号SPID:)) +'阻塞,其当前进程执行的SQL语法如下'
  113. DBCC INPUTBUFFER (@bl )
  114. FETCH NEXT FROM s_cur INTO @spid,@bl
  115. end
  116. CLOSE s_cur
  117. DEALLOCATE s_cur
  118.  
  119. -- ###### 查事务隔离级别 ######
  120. SELECT session_id,
  121. (CASE transaction_isolation_level
  122. THEN 'ReadUncomitted'
  123. THEN 'ReadCommitted'
  124. THEN 'Repeatable'
  125. THEN 'Serializable'
  126. THEN 'Snapshot'
  127. END)
  128. [transaction_isolation_level]
  129. FROM sys.dm_exec_sessions
  130. WHERE session_id = @@SPID;
  131.  
  132. DBCC USEROPTIONS
  133.  
  134. select * FROM sys.dm_tran_locks;
  135.  
  136. select * from sys.partitions;
  137.  
  138. order by [type];
  139.  
  140. select * from sys.sysdatabases
  141.  
  142. select * from sys.databases;
  143.  
  144. select * from sys.schemas;
  145.  
  146. -- 查被锁表并杀掉死锁进程
  147. SELECT request_session_id spid,
  148. OBJECT_NAME (resource_associated_entity_id) tableName
  149. FROM sys.dm_tran_locks
  150. WHERE resource_type = 'OBJECT';
  151.  
  152. kill #{pid};

sqlserver(查看被锁进程)的更多相关文章

  1. SqlServer 查看死锁的进程

    版权声明:本文为 走错路的程序员 原创文章,欢迎转载. https://blog.csdn.net/phker/article/details/78612974搞sqlsever 好多年, 从来没锁过 ...

  2. sqlserver查看被锁表、解锁

    查看别锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.d ...

  3. SqlServer 查看被锁的表和解除被锁的表

    查看被锁的表 1 2 select   request_session_id   spid,OBJECT_NAME(resource_associated_entity_id) tableName   ...

  4. SqlServer 查看事务锁及执行语句

    一.查看当前锁定的事务 ,) ,用户机器名称,) ,是否被锁住),blocked) ,数据库名称,),cmd 命令,waittype as 等待类型 ,last_batch 最后批处理时间,open_ ...

  5. Oracle查看有锁进程,删除锁

    查看锁表进程SQL语句1: select sess.sid,     sess.serial#,     lo.oracle_username,     lo.os_user_name,     ao ...

  6. SqlServer 查看数据库锁,解除锁,此种情况一般常见都是由于事务所造成

    检查数据库锁 SELECT request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableNameFROM sys.dm ...

  7. 知方可补不足~sqlserver中使用sp_who查看sql的进程

    回到目录 在SQLSERVER中每个会话,即每个查询分析器窗口都会产生一个SQL进程,对于那些持续时间短的进程,它们转瞬即失,而对于持续时间比较长的,我们需要希望查看它的运行状态,就可以借助SQL提供 ...

  8. SqlServer查看锁表与解锁

    某些情况下,sqlserver的表会被锁住,比如某个会话窗口有数据一直没提交,窗口又没关闭,这时表就会被锁住 其他任何连接查询表数据时都不会返回 这时需要手工杀掉产生死锁的会话ID,才能恢复正常 查看 ...

  9. mysql查看被锁住的表,正在进行的进程,已经杀掉进程的方法

    mysql查看被锁的进程 //查看所有进程show processlist; //查询是否锁表show OPEN TABLES where In_use > 0; //查看被锁住的 SELECT ...

随机推荐

  1. Oracle物化视图的创建及使用

    oracle物化视图 一.oracle物化视图基本概念  物化视图首先需要创建物化视图日志,  oracle依据用户创建的物化视图日志来创建物化视图日志表,  物化视图日志表的名称为mlog$_后面跟 ...

  2. iOS发布证书申请

    一.  准备工作1.1.准备打包服务器 打包服务器搭建详见http://bbs.justep.com/thread-67724-1-1.html 或 http://www.cnblogs.com/Wo ...

  3. CentOS_7升级系统内核

    最近,在虚拟机中安装docker成功之后,尝试运行docker run hello-world时出现以下错误: $ sudo docker run hello-world Unable to find ...

  4. H5的表格

    表格标签<table> 绘制表格的标签:<table>标签 表格标题:<caption>标签 表格宽度与高度:width和height属性 表格边框色:border ...

  5. 转:ls用法详解

    在Linux中显示文件大小的时候,通常的做法是使用“ls -l”,显示的大小是文件的字节大小. 但是,如果文件比较大的话,显示起来不是特别易读,这个时候,可以使用“ls -lh”,就可以使用比较接近文 ...

  6. Luogu5289 十二省联考2019皮配(动态规划)

    将选择导师看成先选阵营再选派系,这样有显然的O(nm2)暴力,即按城市排序后,设f[i][j][k]为前i个学校中第一个阵营有j人第一个派系有k人的方案数,暴力背包. 对于k=0,可以发现选阵营和选派 ...

  7. 【洛谷P2822 组合数问题】

    题目连接 #include<iostream> #include<cstring> #include<cstdio> #include<cctype> ...

  8. 越光后端开发——ygapi(2.新建Model)

    1.新建Model 1.users数据 1.在apps/users/models.py中: from datetime import datetime from django.db import mo ...

  9. JS学习笔记Day13

    一.cookie (一)什么是cookie: 1.就是会话跟踪技术,存放在客户端浏览器中的一段文本信息 2.会话:从浏览网站开始到结束的这个过程称为一次会话,浏览器关闭,表示会话结束 3.会话跟踪技术 ...

  10. 记一次504 Gateway Time-out

    使用curl请求是超时,查了下资料原来是端口被占用,造成了死锁,记录下 首先要知道为什么会出现死锁? 在我们访问页面的时候这个端口进程就已经被使用,当我们再在页面中curl请求其他页面因为没有其他的端 ...