查询数据库锁

Posted 浮尘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查询数据库锁相关的知识,希望对你有一定的参考价值。

 查询数据库锁的根源:

SELECT a.spid,a.blocked,a.waitresource,a.dbid,a.hostname,a.program_name,c.text AS a_sql 
,b.hostname AS b_hostName,b.program_name AS b_programName,d.text AS b_sql
FROM sys.sysprocesses a
INNER JOIN sys.sysprocesses b ON b.spid=a.blocked
CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) c
CROSS APPLY sys.dm_exec_sql_text(b.sql_handle) d
WHERE a.blocked<>0

 

查数据库所有被锁的spid

SELECT * FROM sys.sysprocesses a WHERE a.blocked<>0

 

查数据库id和name映射

-- 根据name查id
SELECT DB_ID(users)

-- 根据id查name
SELECT * from sys.databases WHERE database_id=15

 

以上是关于查询数据库锁的主要内容,如果未能解决你的问题,请参考以下文章

ReentrantReadWriteLock场景应用

oracle查询锁表与解锁情况提供解决方案

片段视图返回后执行的 Firebase 查询

java中ReentrantReadWriteLock读写锁的使用

LockSupport.java 中的 FIFO 互斥代码片段

读写锁 与 互斥锁