sqlserver過程逝世鎖封閉的辦法。本站提示廣大學習愛好者:(sqlserver過程逝世鎖封閉的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是sqlserver過程逝世鎖封閉的辦法正文
1.起首我們須要斷定是哪一個用戶鎖住了哪張表.
--查詢被鎖表 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.懂得到了畢竟是哪一個過程鎖了哪張表後,須要經由過程過程找到鎖表的主機.
--查詢主機名 exec sp_who2 'xxx' xxx就是spid列的過程,檢索後會列出許多信息,個中就包括主機名.
3.經由過程spid列的值停止封閉過程.
--封閉過程 declare @spid int Set @spid = xxx --鎖表過程 declare @sql varchar(1000) set @sql='kill '+cast(@spid as varchar) exec(@sql)
PS:有些時刻強行殺失落過程是比擬風險的,所以最好可以找到履行過程的主機,在該機械上封閉過程.
以上所述是小編給年夜家引見的sqlserver過程逝世鎖封閉的辦法,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對網站的支撐!