Home [SQL] 取得Session資訊 (SP_WHO)
Post
Cancel

[SQL] 取得Session資訊 (SP_WHO)

提供 SQL Server 實例中目前使用者、工作階段和進程的相關信息,資料庫引擎。 您可以篩選資訊,只傳回那些未閑置、屬於特定用戶或屬於特定會話的進程。

語法

1
2
sp_who [ [ @loginame = ] { 'login' | *session_id* | 'ACTIVE' } ]
[ ; ]

參數:
[ @loginame = ] { ‘login’ | session_id |’ACTIVE’ }
用來篩選結果集。

  • login 是 sysname ,可識別屬於特定登入的進程。
  • session_id是屬於 SQL Server 實例的會話標識碼。 session_id為smallint。
  • ACTIVE 排除正在等候使用者下一個命令的工作階段。

如果未提供任何值,程式會報告屬於 實例的所有會話。(會列出所有目前的進程)

範例

取得Session資訊

1
sp_who --列出所有目前的進程

執行結果:

1
2
3
4
5
6
7
spid	ecid	status	loginame	hostname	blk	dbname	cmd	request_id
1	0	background sa 0    	NULL	XIO_RETRY_WORKER          	0
2	0	background sa 0    	NULL	XIO_LEASE_RENEWAL_WORKER  	0
3	0	background sa 0    	NULL	XTP_CKPT_AGENT            	0
4	0	sleeping sa 0    	master	TASK MANAGER              	0
5	0	runnable riva	RIVAWIN10 0    	SqlExercises	SELECT                    	0
6	0	sleeping NT SERVICE\SQLTELEMETRY$MSSQLSERVER_2019	RIVAWIN10 0    	master	AWAITING COMMAND 0

MSDN - sp_who (Transact-SQL)

This post is licensed under CC BY 4.0 by the author.