【1】問題
進程一直killed不掉
使用 kill 129之后,
可以使用 kill session_id/spid with statusonly 查看回滾進度
【2】基本方案 使用 tcpview(推薦)
下載TCPView (1.4 MB)
現在從Sysinternals Live運行。
運行於:
- 客戶端:Windows 8.1及更高版本。
- 服務器:Windows Server 2012及更高版本。
找到對應的遠程連接信息,然后殺死
但很明顯有缺陷,要是一個IP有多個連接過來,你根本無法區分哪個是正常的 哪個是僵死的;
而且,本身如果是本地操作,也無法明確分析
【3】使用 process explorer(不要用,會出大問題)
【3.1】下載
Process Explorer詳情頁及下載地址請參考:https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
Process Explorer可以查看進程打開的文件、目錄、加載的dll、線程信息等。上述頁面有詳細介紹。
【3.2】安裝,使用
使用參考:https://www.cnblogs.com/alvingofast/p/ProcessMonitor.html
解壓即用:
【3.3】結合mssql,解決無法殺死的進程
(1)准備工作,我用其他機器連過來,模擬了一個死循環
while 1=1 begin print 1 end
(2)查看請求對應的 windows 線程
(3)使用 process explorer,找到sql server進程,然后雙擊,查看線程
如果有多個sql server進程,則從sscm中查看進程號
(4)找到對應的線程后,kill
【3.4】殺死后故障問題
解決:
(1)用【2】基本方案 使用 tcpview(推薦)中辦法解決
(2)重啟引擎實例,是因為我們終止了一個線程,導致查看系統表中的東西都查不到了;會報錯;
【錯誤處理】缺少功能:winsta!WinStationConnectW
無法在此版本的Windows上運行:
缺少功能:winsta!WinStationConnectW
無法在此版本的Windows上運行:
缺少功能:winsta!WinStationShadow
無法在此版本的Windows上運行:
缺少功能:winsta!WinStationGetProcessSid
解決:
安裝一下:windows6.1-kb2533623
下載參考:http://www.3h3.com/soft/119473.html