SQL2008删除堵塞进程sp_who
sql2008删除堵塞进程sp_who
1.列出全部当前进程
use master go exec sp_who go
2.列出特定用户的进程
use master go exec sp_who 'sa'
3.显示所有活动进程:
use master go exec sp_who 'active'
4,显示会话id标识的特定进程
use master go exec sp_who '10'
5.删除阻塞的进程
use master go kill 10 // blk列 go
6.sp_who返回包括以下信息的结果集。
spid: smallint 回话id
ecid:smallint 与特定会话id相关联的给定线程的执行上下文id。ecid={0,1,2,3,....n},其中0始终表示主或父线程,并且{1,2,3..n}表示子线程。
statis:nchar(30) 进程状态。
可有的值:dormant。sql server正在重置会话。
running。会话正在运行一个或多个批。
多个活动的结果集(mars)启用后,会话可以运行多个批。
background。会话正在运行一个后台任务,例如死锁检测。
rollback。会话具有正在处理的事务回滚。
pending。会话正在等待工作线程变为可用。
runnable。会话的任务再等待获取时间量程时位于计划程序的可运行队列中。
spinloop。会话的任务正在等待调节锁变为可用。
suspended。会话正在等待事件(如i/o)完成。
loginame:nchar(128) 与特定进程相关联的登录名。
hostname:nchar(128) 每个进程的主机或计算机名。
blk:char(5) 如果存在阻塞进程,则是该阻塞进程的会话id。否则该列为零。
当与指定会话id相关联的事务受到孤立分布式事务的阻塞时,该列将对阻塞孤立事务事务返回-2
dbname:nchar(128) 进程使用的。
cmd:nchar(16) 为该进程执行的数据库引擎命令(transact-sql语句、数据库引擎进程等等)。
request_id:int 特定会话中运行的请求的id。
如果是并行处理,则会为特定的会话id创建子线程。主线程则以spid=<xxx>和ecid=0表示。其他子线程具有相同的spid=<xxx>,但ecid>0
推荐阅读