sqlserver進程死鎖關閉的方法
發(fā)布日期:2021-12-18 13:14 | 文章來源:源碼之家
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:有些時候強行殺掉進程是比較危險的,所以最好可以找到執(zhí)行進程的主機,在該機器上關閉進程.
以上所述是小編給大家介紹的sqlserver進程死鎖關閉的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網(wǎng)站的支持!
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
相關文章