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

 

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐