sql server无法kill掉会话,会话一直处于killed/rollback

【1】问题

进程一直killed不掉

  sql server无法kill掉会话,会话一直处于killed/rollback

 

 

使用 kill 129之后,

可以使用 kill session_id/spid  with statusonly 查看回滚进度

  sql server无法kill掉会话,会话一直处于killed/rollback

 

【2】基本方案 使用 tcpview

sql server无法kill掉会话,会话一直处于killed/rollback 下载TCPView (1.4 MB)

现在从Sysinternals Live运行。

运行于:

  • 客户端:Windows 8.1及更高版本。
  • 服务器:Windows Server 2012及更高版本。

找到对应的远程连接信息,然后杀死

但很明显有缺陷,要是有多个,你根本无法区分哪个是正常的 哪个是僵死的

  sql server无法kill掉会话,会话一直处于killed/rollback

 

 

【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

解压即用:

  sql server无法kill掉会话,会话一直处于killed/rollback

【3.3】结合mssql,解决无法杀死的进程

(1)准备工作,我用其他机器连过来,模拟了一个死循环

while 1=1
begin
print 1
end

(2)查看请求对应的 windows 线程

  sql server无法kill掉会话,会话一直处于killed/rollback

 

(3)使用 process explorer,找到sql server进程,然后双击,查看线程

如果有多个sql server进程,则从sscm中查看进程号

  sql server无法kill掉会话,会话一直处于killed/rollback

  sql server无法kill掉会话,会话一直处于killed/rollback

 

 (4)找到对应的线程后,kill

  sql server无法kill掉会话,会话一直处于killed/rollback

 

 

使用参考:https://www.cnblogs.com/alvingofast/p/ProcessMonitor.html

 

【错误处理】缺少功能:winsta!WinStationConnectW

无法在此版本的Windows上运行:
缺少功能:winsta!WinStationConnectW

无法在此版本的Windows上运行:
缺少功能:winsta!WinStationShadow

无法在此版本的Windows上运行:
缺少功能:winsta!WinStationGetProcessSid

解决:

  安装一下:windows6.1-kb2533623

  下载参考:http://www.3h3.com/soft/119473.html

【参考文档】

潇湘隐者:https://www.cnblogs.com/kerrycode/p/5981763.html

上一篇:【机器学习的数学基础】(十四)连续优化(Continuous Optimization)


下一篇:【Oracle11gR2 | 学习】记录的增删改