sqlserver程序死鎖關閉的方法

2021-10-09 09:44:09 字數 819 閱讀 3228

1.首先我們需要判斷是哪個使用者鎖住了哪張表.12

3–查詢被鎖表

select request_session_id spid,object_name(resource_associated_entity_id) tablename

from sys.dm_tran_locks where resource_type=『object』

查詢後會返回乙個包含spid和tablename列的表.

其中spid是程序名,tablename是表名.

2.了解到了究竟是哪個程序鎖了哪張表後,需要通過程序找到鎖表的主機.12

3–查詢主機名

exec sp_who2 『***』

***就是spid列的程序,檢索後會列出很多資訊,其中就包含主機名.

3.通過spid列的值進行關閉程序.12

3456

–關閉程序

declare @spid int

set @spid = *** --鎖表程序

declare @sql varchar(1000)

set @sql='kill '+cast(@spid as varchar)

exec(@sql)

–關閉程序

declare @spid int

set @spid = *** --鎖表程序

declare @sql varchar(1000)

set @sql='kill '+cast(@spid as varchar)

exec(@sql)

ps:有些時候強行殺掉程序是比較危險的,所以最好可以找到執行程序的主機,在該機器上關閉程序.

關閉Oracle死鎖程序

關閉oracle死鎖程序的具體步驟 查哪個過程被鎖 查v db object cache檢視 select from v db object cache where owner 過程的所屬使用者 and clocks 0 2.查是哪乙個sid,通過sid可知道是哪個session 查v access...

SqlServer 檢視死鎖的程序

這個工具,用來檢視一些當時的執行狀態.和乾掉程序.但是這個工具只能檢視部分哪個表被鎖住了.也無法知道是哪個程序和sql導致了鎖程序.只能檢視一些其它的資訊.至於如何檢視死鎖的表,需要用到下面的sql.然後根據查出來的 程序id 去上面的工具中 檢視詳細資訊.可以檢視到引起死鎖的sql 檢視被鎖表 s...

SqlServer 檢視死鎖的程序

這個工具,用來檢視一些當時的執行狀態.和乾掉程序.但是這個工具只能檢視部分哪個表被鎖住了.也無法知道是哪個程序和sql導致了鎖程序.只能檢視一些其它的資訊.至於如何檢視死鎖的表,需要用到下面的sql.然後根據查出來的 程序id 去上面的工具中 檢視詳細資訊.可以檢視到引起死鎖的sql 檢視被鎖表 s...