sqlserver(查看被锁进程)
-- ###### 查看被锁进程 ###### select 标志, 进程ID=spid,线程ID=kpid,块进程ID=blocked,数据库ID=dbid, 数据库名=db_name(dbid),用户ID=uid,用户名=loginame,累计CPU时间=cpu, 登陆时间=login_time,打开事务数=open_tran, 进程状态=status, 工作站名=hostname,应用程序名=program_name,工作站进程ID=hostprocess, 域名=nt_domain,网卡地址=net_address from( select 标志='死锁的进程', spid,kpid,a.blocked,dbid,uid,loginame,cpu,login_time,open_tran, status,hostname,program_name,hostprocess,nt_domain,net_address, s1 from master..sysprocesses a join ( select blocked from master..sysprocesses group by blocked )b union all select '|_牺牲品_>', spid,kpid,blocked,dbid,uid,loginame,cpu,login_time,open_tran, status,hostname,program_name,hostprocess,nt_domain,net_address, s1 )a order by s1,s2 -- 查询锁对象 , ) AS spid, ), DB_NAME (resource_database_id)) AS db_name, CASE WHEN resource_database_id = DB_ID () AND resource_type = 'OBJECT' THEN ), OBJECT_NAME (resource_associated_entity_id)) ELSE ), resource_associated_entity_id) END AS object, ), resource_type) AS resource_type, ), request_type) AS request_type, ), request_mode) AS mode, ), request_status) AS status FROM sys.dm_tran_locks WHERE resource_type = 'OBJECT' , DESC exec sp_lock EXEC sp_who active SELECT @@LOCK_TIMEOUT -- ###### 查first()记录 ###### -- 方法一 SELECT * FROM infu_master i WHERE i.infu_master_id = ( im.infu_master_id FROM infu_master im WHERE im.infu_status IN ('R', 'I', 'S') AND im.pati_id = i.pati_id ORDER BY im.infu_master_id ASC) -- 方法二 SELECT * FROM infu_master i WHERE i.infu_master_id IN (SELECT min (im.infu_master_id) AS infu_master_id FROM infu_master im WHERE im.infu_status IN ('R', 'I', 'S') GROUP BY im.pati_id) -- 方法三 SELECT * FROM (SELECT im.*, ROW_NUMBER () OVER (PARTITION BY im.pati_id ORDER BY im.infu_master_id) RN FROM infu_master im WHERE im.infu_status IN ('R', 'I', 'S')) t -- ###### 查引起死锁的操作 ###### USE master go DECLARE @spid INT --查询出死锁的SPID SELECT @spid = blocked FROM (SELECT * FROM sysprocesses ) a WHERE NOT EXISTS (SELECT * FROM (SELECT * FROM sysprocesses ) b WHERE a.blocked = spid) --输出引起死锁的操作 DBCC INPUTBUFFER (@spid) --exec sp_who2 use master go declare @spid int,@bl int DECLARE s_cur CURSOR FOR ,blocked ) a ) b where a.blocked=spid) OPEN s_cur FETCH NEXT FROM s_cur INTO @spid,@bl begin select '引起数据库死锁的是: )) + '进程号,其执行的SQL语法如下' else ))+ '被' + ' 进程号SPID:)) +'阻塞,其当前进程执行的SQL语法如下' DBCC INPUTBUFFER (@bl ) FETCH NEXT FROM s_cur INTO @spid,@bl end CLOSE s_cur DEALLOCATE s_cur -- ###### 查事务隔离级别 ###### SELECT session_id, (CASE transaction_isolation_level THEN 'ReadUncomitted' THEN 'ReadCommitted' THEN 'Repeatable' THEN 'Serializable' THEN 'Snapshot' END) [transaction_isolation_level] FROM sys.dm_exec_sessions WHERE session_id = @@SPID; DBCC USEROPTIONS select * FROM sys.dm_tran_locks; select * from sys.partitions; order by [type]; select * from sys.sysdatabases select * from sys.databases; select * from sys.schemas; -- 查被锁表并杀掉死锁进程 SELECT request_session_id spid, OBJECT_NAME (resource_associated_entity_id) tableName FROM sys.dm_tran_locks WHERE resource_type = 'OBJECT'; kill #{pid};
sqlserver(查看被锁进程)的更多相关文章
- SqlServer 查看死锁的进程
版权声明:本文为 走错路的程序员 原创文章,欢迎转载. https://blog.csdn.net/phker/article/details/78612974搞sqlsever 好多年, 从来没锁过 ...
- sqlserver查看被锁表、解锁
查看别锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.d ...
- SqlServer 查看被锁的表和解除被锁的表
查看被锁的表 1 2 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName ...
- SqlServer 查看事务锁及执行语句
一.查看当前锁定的事务 ,) ,用户机器名称,) ,是否被锁住),blocked) ,数据库名称,),cmd 命令,waittype as 等待类型 ,last_batch 最后批处理时间,open_ ...
- Oracle查看有锁进程,删除锁
查看锁表进程SQL语句1: select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao ...
- SqlServer 查看数据库锁,解除锁,此种情况一般常见都是由于事务所造成
检查数据库锁 SELECT request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableNameFROM sys.dm ...
- 知方可补不足~sqlserver中使用sp_who查看sql的进程
回到目录 在SQLSERVER中每个会话,即每个查询分析器窗口都会产生一个SQL进程,对于那些持续时间短的进程,它们转瞬即失,而对于持续时间比较长的,我们需要希望查看它的运行状态,就可以借助SQL提供 ...
- SqlServer查看锁表与解锁
某些情况下,sqlserver的表会被锁住,比如某个会话窗口有数据一直没提交,窗口又没关闭,这时表就会被锁住 其他任何连接查询表数据时都不会返回 这时需要手工杀掉产生死锁的会话ID,才能恢复正常 查看 ...
- mysql查看被锁住的表,正在进行的进程,已经杀掉进程的方法
mysql查看被锁的进程 //查看所有进程show processlist; //查询是否锁表show OPEN TABLES where In_use > 0; //查看被锁住的 SELECT ...
随机推荐
- mysql-python安装时EnvironmentError: mysql_config not found
mysql-python安装时EnvironmentError: mysql_config not found 在安装 mysql-python时,会出现: 复制代码 sh: mysql_config ...
- 关于计时器的js函数
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- Dijkstra算法——计算一个点到其他所有点的最短路径的算法
迪杰斯特拉算法百度百科定义:传送门 gh大佬博客:传送门 迪杰斯特拉算法用来计算一个点到其他所有点的最短路径,是一种时间复杂度相对比较优秀的算法 O(n2)(相对于Floyd算法来说) 是一种单源最短 ...
- css经常使用的六种文本样式
css当中经常使用的六种文本样式 css 文本样式是相对于内容进行的样式修饰,下面来说下几种常见的文本样式. 首行缩进 首行缩进是将段落的第一行缩进,这是常用的文本格式化效果.一般地,中文写作时开头空 ...
- [BJOI2019]勘破神机
[BJOI2019]勘破神机 推式子好题 m=2,斐波那契数列,$f_{n+1}$项 不妨$++l,++r$,直接求$f_n$ 求$\sum C(f_n,k)$,下降幂转化成阶乘幂,这样都是多项式了, ...
- go Test的实现 以及 压力测试
引用 import "testing" 一些原则 文件名必须是 *_test.go* 结尾的,这样在执行 go test 的时候才会执行到相应的代码 必须 import testi ...
- django-url的分发
1)url的分发: 1,首先在全局的url里面的路径中写好,你要分发的路径名. 2,并且在你要分发的路径下,创好新的url文件. 在分发的路径名里面,把全局url里面的代码,复制过来 3,最后在浏览器 ...
- echarts地图详解
$(function() { // 路径配置 require.config({ paths : { // echarts: 'http://echarts.baidu.com/build/dist' ...
- BIOS翻译
BIOS翻译 BIOS(Basic Input/Output System—基本输入输出系统).BIOS可以视为是一个永久地记录在ROM中的一个软件 Main主要信息 :main 主要信息 advan ...
- prometheus 标签使用
标签的配置使用 考虑到要明智地使用标签,我们需要给事物重新命名.在一个集中的.复杂的监视环境中,我们有时无法控制正在监视的所有资源以及它们公开的监视数据.重新标记允许在自己的环境中控制.管理和潜在地标 ...