搜尋本站文章

2017-07-08

[SQL Server] sp_who 與 sp_who2


sp_who 提供 SQL Server Database Engine 執行個體中有關目前使用者、工作階段和處理序的資訊。
可以篩選資訊,只傳回屬於特定使用者或屬於特定工作階段的非閒置處理序。

sp_who2 是 undocumented 與 unsupported,但提供更多的資訊,例如:CPUTime、DiskIO、LastBatch、ProgramName 等。


-- 01_列出所有目前的處理序
USE master
GO
EXEC sp_who
GO

-- 02_列出特定使用者的處理序
USE master
GO
EXEC sp_who '[loginname]'
GO

-- 03_顯示所有使用中的處理序,排除在等待使用者下一個命令的工作階段。
USE master
GO
EXEC sp_who 'ACTIVE '
GO

-- 04_顯示工作階段識別碼所識別的特定處理序
USE master
GO
EXEC sp_who '[spid]'
GO

-- 90_列出特定使用者的處理序



-- 91_顯示所有使用中的處理序,排除在等待使用者下一個命令的工作階段



-- 100_sp_who



-- 101_sp_who_SPID



-- 102_sp_who2



-- 103_sp_who2_CPU_IO_LastBatch



-- 104_sp_who2_SPID



-- 105_sp_who2_SPID_CPU_IO_LastBatch



-- 106_ 詭異的時間







參考資料

sp_who (Transact-SQL)
https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-who-transact-sql 

sp_who (Transact-SQL)
https://technet.microsoft.com/zh-tw/library/ms174313(v=sql.110).aspx

sp_who2 (or sysprocesses or sys.dm_exec_requests) might show your thread being blocked by SPID -4
https://blogs.msdn.microsoft.com/mangeshd/2009/10/02/sp_who2-or-sysprocesses-or-sys-dm_exec_requests-might-show-your-thread-being-blocked-by-spid-4/

What is difference between SP_WHO & SP_WHO2?
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/aa06e533-ef6a-494a-9f9b-df3b29b73d85/what-is-difference-between-spwho-spwho2?forum=transactsql

找出被封鎖的連線; blocked lock connectoin
http://sharedderrick.blogspot.tw/2007/12/blocked-lock-connectoin.html