zoukankan      html  css  js  c++  java
  • sql server无法kill掉会话,会话一直处于killed/rollback

    【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

    【参考文档】

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

  • 相关阅读:
    noexcept(c++11)
    右值引用和std::move函数(c++11)
    mint-ui 取值
    apicloud 注意事项
    倒计时
    获取第n天日期
    防止split没有切割的变量报错
    return
    时间戳转为日期
    echarts 中 请求后台改变数据
  • 原文地址:https://www.cnblogs.com/gered/p/14657342.html
Copyright © 2011-2022 走看看