sysprocesses 表中保存关于运行在 Microsoft® SQL Server™ 上的进程的信息。这些进程可以是客户端进程或系统进程。
sysprocesses 只存储在 master 数据库中,是一张视图。
Select * From master.sys.sysprocesses
一、使用sysprocesses查询当前系统被阻塞的会话
字段Blocked<>0代表当前的SQL Server会话ID被锁定,锁定当前会话ID的SQL Server会话ID就是Blocked中的值。
查询当前系统被锁定的会话信息
Select * From master.sys.sysprocesses Where Blocked <> 0
二、查询某个会话所执行的SQL语句
--dbcc inputbuffer(spid) 如: dbcc inputbuffer(3)
三、杀死某个会话
SQL Server系统库对应的会话不能Kill,可以用dbid>4进行判断;dbid<=4的代表系统库
--kill spid 如 kill 63
四、查看当前所有数据库的连接情况
Select db_name(dbid) as [Database Name], count(dbid) as [No Of Connections], loginame as [Login Name] From master.sys.sysprocesses Where dbid > 4 Group By dbid, loginame