sys.sysprocesses(Transact-SQL)

适用范围:SQL Server

包含有关在 SQL Server 实例上运行的进程的信息。 这些进程可以是客户端进程或系统进程。 若要访问 sysprocesses,您必须位于 master 数据库上下文中,或者必须使用由三部分构成的名称 master.dbo.sysprocesses。

重要

将此 SQL Server 2000 系统表作为一个视图包含进来是为了保持向后兼容性。 建议您改用最新的 SQL Server 系统视图。 若要查找一个或多个等效系统视图,请参阅将系统表映射到系统视图 (Transact-SQL)。 后续版本的 Microsoft SQL Server 将删除该功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

列名称 数据类型 描述
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 时间。 无论选项是 SETSET STATISTICS TIME 开还是关,所有进程的条目都会更新。
physical_io bigint 进程的累计磁盘读取和写入。
memusage int 当前为此进程分配的过程缓存中的页数。 一个负数,表示进程正在释放由另一个进程分配的内存。
login_time datetime 客户端进程登录到服务器的时间。
last_batch datetime 客户端进程上次执行远程存储过程调用或 EXECUTE 语句的时间。
ecid smallint 用于唯一标识代表单个进程进行操作的子线程的执行上下文 ID。
open_tran smallint 进程的打开事务数。
状态 nchar(30) 进程 ID 状态。 可能的值为:

休眠 = SQL Server 正在重置会话。

running = 会话正在运行一个或多个批处理。 多个活动的结果集 (MARS) 启用后,会话可以运行多个批。 有关详细信息,请参阅使用多重活动结果集 (MARS)

background = 会话正在运行后台任务,例如死锁检测。

rollback = 会话正在进行事务回滚。

pending = 会话正在等待工作线程变为可用。

runnable = 会话中的任务在等待获取时间量子时处于计划程序可运行队列中。

spinloop = 会话中的任务正在等待旋转锁变为免费状态。

suspended = 会话正在等待事件(如 I/O)完成。
sid binary(86) 用户的全局唯一标识符 (GUID)。
主机名 nchar(128) 工作站的名称。
program_name nchar(128) 应用程序的名称。
hostprocess nchar(10) 工作站进程 ID 号。
cmd nchar(52) 当前正在执行的命令。
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 函数返回结果的结尾。
request_id int 请求 ID。 用于标识在特定会话中运行的请求。
page_resource binary(8) 适用于:SQL Server 2019 (15.x)

如果 waitresource 列包含页面,则为页面资源的 8 字节十六进制表示形式。

注解

如果用户对服务器拥有 VIEW SERVER STATE 权限,用户将看到 SQL Server 实例中所有正在执行的会话;否则,用户只会看到当前会话。

另请参阅

与执行有关的动态管理视图和函数 (Transact-SQL)
将系统表映射到系统视图 (Transact-SQL)
兼容性视图 (Transact-SQL)