sp_who 不包括 threadpool 列。
sp_who [<loginame> | "<spid>"]
<loginame>
是一个用户的 SAP ASE 登录名,您请求报告的就是该用户的情况。
<spid>
是要报告其相关信息的进程的编号。请用引号将进程编号引起(SAP ASE 服务器要求编号为 char 类型)。
报告正在 SAP ASE 服务器上运行的进程。虽然除 sp_who 外没有任何其他用户进程正在运行,服务器仍会显示活动。在空闲循环期间,管家清洗任务将脏缓冲区移动到缓冲区清洗区域中,管家杂事任务执行其它维护任务。管家碎片收集任务以普通用户的优先级工作。该任务清除在逻辑上已被删除的数据并重置各行,使表重新拥有空间。
sp_who
fid spid status loginame origname hostname blk_spid dbname
tempdbname cmd block_xloid threadpool
--- ---- --------- --------- --------- ---------------- -------- -----------
----------- ----------------- ----------- -----------------
0 2 sleeping NULL NULL NULL 0 master
tempdb DEADLOCK TUNE 0 syb_default_pool
0 3 sleeping NULL NULL NULL 0 master
tempdb ASTC HANDLER 0 syb_default_pool
0 4 sleeping NULL NULL NULL 0 master
tempdb CHECKPOINT SLEEP 0 syb_default_pool
0 5 sleeping NULL NULL NULL 0 master
tempdb HK WASH 0 syb_default_pool
0 6 sleeping NULL NULL NULL 0 master
tempdb HK GC 0 syb_default_pool
0 7 sleeping NULL NULL NULL 0 master
tempdb HK CHORES 0 syb_default_pool
0 8 sleeping NULL NULL NULL 0 master
tempdb PORT MANAGER 0 syb_default_pool
0 9 sleeping NULL NULL NULL 0 master
tempdb NETWORK HANDLER 0 syb_default_pool
0 10 sleeping NULL NULL NULL 0 master
tempdb LICENSE HEARTBEAT 0 syb_default_pool
0 13 sleeping NULL NULL NULL 0 master
tempdb NETWORK HANDLER 0 syb_default_pool
0 14 sleeping NULL NULL NULL 0 master
tempdb NETWORK HANDLER 0 syb_default_pool
0 17 sleeping NULL NULL NULL 0 master
tempdb NETWORK HANDLER 0 syb_default_pool
0 20 sleeping NULL NULL NULL 0 master
tempdb NETWORK HANDLER 0 syb_default_pool
0 26 running sa sa tiger.sybase.com 0 master
tempdb INSERT 0 syb_default_pool
报告正在 SAP ASE 服务器上运行的进程。进程 11(对表执行 select into)被进程 8(对同一个表执行 begin transaction,随后对其执行 insert)阻塞。对于进程 8,当前 <loginame> 为“robert”,但原
sp_who
fid spid status loginame origname hostname blk_spid dbname
tempdbname cmd block_xloid threadpool
--- ---- --------- --------- --------- --------------- -------- -----------
----------- ----------------- ----------- -----------------
0 1 recv sleep bird bird jazzy 0 master
tempdb AWAITING COMMAND 0 syb_default_pool
0 2 sleeping NULL NULL 0 master
tempdb NETWORK HANDLER 0 syb_default_pool
0 3 sleeping NULL NULL 0 master
tempdb MIRROR HANDLER 0 syb_default_pool
0 4 sleeping NULL NULL 0 master
tempdb AUDIT PROCESS 0 syb_default_pool
0 5 sleeping NULL NULL 0 master
tempdb CHECKPOINT SLEEP 0 syb_default_pool
0 6 recv sleep rose rose petal 0 master
tempdb AWAITING COMMAND 0 syb_default_pool
0 7 sleeping NULL NULL actor 0 sybsystemdb
tempdb ASTC HANDLER 0 syb_default_pool
0 8 running robert sa helos 0 master
tempdb SELECT 0 syb_default_pool
0 9 send sleep daisy daisy chain 0 pubs2
tempdb SELECT 0 syb_default_pool
0 10 alarm sleep lily lily pond 0 master
tempdb WAITFOR 0 syb_default_pool
0 11 lock sleep viola viola cello 8 pubs2
tempdb INSERT 0 syb_default_pool
报告用户“joe”正在运行的进程的情况:
sp_who joe
fid spid status loginame origname hostname blk_spid dbname
tempdbname cmd block_xloid threadpool
--- ---- --------- --------- --------- ---------------- -------- -----------
----------- ----------------- ----------- -----------------
0 28 recv sleep joe joe tiger.sybase.com 0 pubs2
tempdb SELECT 0 syb_default_pool
报告编号为 17 的 SAP ASE 服务器进程正在执行什么操作:
sp_who "17"
fid spid status loginame origname hostname blk_spid dbname
tempdbname cmd block_xloid threadpool
--- ---- --------- --------- --------- ---------------- -------- -----------
----------- ----------------- ----------- -----------------
0 17 sleeping NULL NULL NULL 0 pubs2
tempdb NETWORK HANDLER 0 syb_default_pool
报告一个由系统引起、属于某一事务或某一命令的回退的情况:
sp_who
fid spid status loginame origname hostname blk_spid dbname
tempdbname cmd block_xloid threadpool
--- ---- --------- --------- --------- ---------------- -------- -----------
----------- ----------------- ----------- -----------------
0 28 running joe joe tiger.sybase.com 0 pubs2
tempdb rollback 0 syb_default_pool
使用 sp_who 时,还存在一些其它注意事项:
fid
标识锁属于哪个系列(包括协调进程及其工作进程)。有关详细信息,请参见 sp_familylock。
spid
标识进程编号。系统管理员可以将此编号与 Transact-SQL kill 命令搭配使用来停止相应进程。
status
指示该进程是处于运行状态还是处于休眠状态。
loginame
启动该进程的用户的登录名或别名。对于所有系统进程,loginame 均为 NULL。
origname
如果 loginame 是一个别名,origname 会显示实际登录名。否则,origname 显示的信息与 loginame 相同。
hostname
相应数据库所在的服务器的名称。
blk_spid
如果有阻塞进程,则包含该进程的进程 ID。阻塞进程(可能是受影响的进程或持有排它锁)是指持有另一进程所需要的资源的进程。
dbname
指示正在运行该进程的数据库的名称。
tempdbname
分配到会话的临时数据库名称。
cmd
标识当前正在执行的命令或进程。此信息由 sysprocesses 的 cmd 列提供。对条件语句(例如,if 或 while 循环)求值时返回 cond。
block_xloid
标识阻塞事务的唯一锁所有者 ID。
threadpool
任务使用的线程池。