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'
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