sql server列表中的sys sysproces列表kpid 4056但服务器进程中不存在kpid

时间:2013-11-24 06:41:22

标签: sql-server-2008 process windows-server-2008 pid spid

我来自sys.sysprocesses的runnig查询 其中一个结果是使用kpid'4056'和SPId 390的流程 但是当我在命令提示符下看到Windows任务管理器或tasklist时 1-i试图在sql server中使用kill 390终止此过程:它不会杀死并保留在kill / rollbak中 2-我试图通过命令提示符taskkill /pid 4056杀死 它说:“处理这个PID不会退出。” 无论如何要杀死这个过程?

1 个答案:

答案 0 :(得分:1)

在我的故事中,使用以下类似查询杀死针对Sharepoint的进程失败并且长时间保持在kill / rollback状态是失败的。我试图解决这个问题,而没有重新启动我没有成功的SQL服务器,但显示你可以在哪里找到KPID以及如何杀死它们

SELECT  f1, f2
    FROM    OPENROWSET('Microsoft.ACE.OLEDB.12.0',
                       'WSS;IMEX=1; DATABASE=http://portal.local/AA/XX/YY;LIST=Feedback;VIEW=;RetrieveIds=Yes;',
                       'SELECT   f1, f2  FROM LIST') AS derivedtbl_1
  • 使用Process Explorer查找sql​​server.exe的正确实例 在工具提示上查看鼠标中显示的位置
  • 转到线程节点,你会在那里找到内核线程
    • 但杀死不建议并且会挂起SQL服务器并让它在我的情况下重启
  • 重新启动DTC(分布式事务协调器)服务和SQL 服务器代理服务是另一个建议,可能有助于在该机器中安全地杀死kpid