sys.sysprocesses (Transact-SQL)
包含正在 SQL Server 实例上运行的进程的相关信息。 这些进程可以是客户端进程或系统进程。 若要访问 sysprocesses,您必须位于 master 数据库上下文中,或者必须使用由三部分构成的名称 master.dbo.sysprocesses。
重要提示 |
---|
将此 SQL Server 2000 系统表作为一个视图包含进来是为了保持向后兼容性。建议您改用最新的 SQL Server 系统视图。若要查找一个或多个等效系统视图,请参阅将 SQL Server 2000 系统表映射到 SQL Server 2005 系统视图。后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 |
适用范围:SQL Server(SQL Server 2008 到当前版本)。 |
列名 |
数据类型 |
说明 |
---|---|---|
spid |
smallint |
SQL Server 会话 ID。 |
kpid |
smallint |
Windows 线程 ID。 |
blocked |
smallint |
正在阻塞请求的会话的 ID。 如果此列为 NULL,则表示请求未被阻塞,或锁定会话的会话信息不可用(或无法进行标识)。 -2 = 阻塞资源由孤立的分布式事务拥有。 -3 = 阻塞资源由延迟的恢复事务拥有。 -4 = 由于内部闩锁状态转换而无法确定阻塞闩锁所有者的会话 ID。 |
waittype |
binary(2) |
保留。 |
waittime |
bigint |
当前等待时间(毫秒)。 0 = 进程不等待。 |
lastwaittype |
nchar(32) |
指示上次或当前等待类型名称的字符串。 |
waitresource |
nchar(256) |
锁资源的文本化表示法。 |
dbid |
smallint |
当前正由进程使用的数据库 ID。 |
uid |
smallint |
执行命令的用户 ID。 如果用户数和角色数超过 32,767,则发生溢出或返回 NULL。 |
cpu |
int |
进程的累计 CPU 时间。 无论 SET STATISTICS TIME 选项是 ON 还是 OFF,都为所有进程更新该项。 |
physical_io |
bigint |
进程的累计磁盘读取和写入。 |
memusage |
int |
当前为此进程分配的过程缓存中的页数。 一个负数,表示进程正在释放由另一个进程分配的内存。 |
login_time |
datetime |
客户端进程登录到服务器的时间。 |
last_batch |
datetime |
客户端进程上次执行远程存储过程调用或 EXECUTE 语句的时间。 |
ecid |
smallint |
用于唯一标识代表单个进程进行操作的子线程的执行上下文 ID。 |
open_tran |
smallint |
进程的打开事务数。 |
status |
nchar(30) |
进程 ID 状态。 可能的值有: dormant = SQL Server 正在重置会话。 running = 会话正在运行一个或多个批。 多个活动的结果集 (MARS) 启用后,会话可以运行多个批。 有关详细信息,请参阅使用多个活动的结果集 (MARS)。 background = 会话正在运行一个后台任务,例如死锁检测。 rollback = 会话具有正在处理的事务回滚。 pending = 会话正在等待工作线程变为可用。 runnable = 会话中的任务在等待获取时间量程时位于计划程序的可执行队列中。 spinloop = 会话中的任务正在等待调节锁变为可用。 suspended = 会话正在等待事件(如 I/O)完成。 |
sid |
binary(86) |
用户的全局唯一标识符 (GUID)。 |
hostname |
nchar(128) |
工作站的名称。 |
program_name |
nchar(128) |
应用程序的名称。 |
hostprocess |
nchar(10) |
工作站进程 ID 号。 |
cmd |
nchar(16) |
当前正在执行的命令。 |
nt_domain |
nchar(128) |
客户端的 Windows 域(如果使用 Windows 身份验证)或可信连接的 Windows 域。 |
nt_username |
nchar(128) |
进程的 Windows 用户名(如果使用 Windows 身份验证)或可信连接的 Windows 用户名。 |
net_address |
nchar(12) |
为每个用户工作站上的网络适配器分配的唯一标识符。 当用户登录时,此标识符将插入到 net_address 列中。 |
net_library |
nchar(12) |
用于存储客户端网络库的列。 每个客户端进程都在网络连接上进入。 网络连接有一个与这些进程关联的网络库,该网络库使得这些进程可以建立连接。 |
loginame |
nchar(128) |
登录名。 |
context_info |
binary(128) |
使用 SET CONTEXT_INFO 语句存储在批中的数据。 |
sql_handle |
binary(20) |
表示当前正在执行的批或对象。 注意 此值是从对象的批或内存地址派生的。 通过使用基于 SQL Server 哈希的算法无法计算此值。 |
stmt_start |
int |
为指定 sql_handle 运行当前 SQL 语句的起始偏移量。 |
stmt_end |
int |
所指定 sql_handle 的当前 SQL 语句的结束偏移量。 -1 = 当前语句为指定的 sql_handle 运行到 fn_get_sql function for 函数返回结果的结尾。 |
request_id |
int |
请求 ID。 用于标识在特定会话中运行的请求。 |
注释
如果用户对服务器具有 VIEW SERVER STATE 权限,则该用户可查看 SQL Server 实例中所有正在执行的会话;否则,该用户只能查看当前会话。