时间:2023-10-27来源:系统城装机大师作者:佚名
(1)下面是查询死锁进程
1 2 3 4 5 |
select request_session_id spid, (死锁进程id) OBJECT_NAME(resource_associated_entity_id) tableName (死锁进程名称) from sys.dm_tran_locks where resource_type= 'OBJECT' (数据类型所有) |
(2)杀死死锁进程
1 2 3 4 5 |
declare @spid int //声明id Set @spid = 62 //设置死锁id declare @sql varchar (1000) //声明sql set @sql= 'kill ' + cast (@spid as varchar ) //设置 kill掉死锁进程 exec (@sql) //执行 |
或者
kill 62;
1 2 3 |
select 'kill ' + CONVERT ( varchar ,request_session_id) ,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type= 'OBJECT' |
1 2 3 4 5 6 |
-- 开始事务 BEGIN TRANSACTION update job set create_user= '0000' where id = '1' WAITFOR DELAY '02:00' -- 执行查询 select * from job where id = '1' ; |
方法一
方法二
1 2 3 4 5 6 7 8 9 10 |
-- 首先查询 select request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type= 'OBJECT' -- 然后执行 kill 67; |
注意事项:
有些用户连接可以在kill掉后自动重建,但期间有一段时间,如果碰到这种情况,需要在执行完kill命令后立即执行脱机操作
2023-10-27
SQL Server截取字符串函数操作常见方法2023-10-27
浅谈SELECT *会导致查询效率低的原因2023-10-27
SQL Server 数据库中的收缩数据库和文件操作我们经常在SQL Server中使用group by语句配合聚合函数,对已有的数据进行分组统计。本文主要介绍一种分组的逆向操作,通过一个递归公式,实现ungroup操作。代码和实现我们看一个...
2023-10-27