一個用戶數據處理或過程有時候會對SQL Server2000有著負面影響。例如,當用戶建立一個高級的數據操作時,它可以產生數據操作的勁瓶,只有等到這一操作完成之後,其他用戶的操作才可以進行。也許你沒有聽到開發人員的抱怨,但你應該聽到過等候的用戶的抱怨。這就是無法獲得特定處理和過程的信息的原因。
當你要查找減緩用戶操作原因的信息時,sp_who是一款最為方便的工具。她是一種系統存儲的程序,可以提供用戶和過程的當前信息。除此之外,可以使用它來獲得正在處理過程的信息,包括空閒的過程。
sp_who的操作結果提供一些很有用的縱欄,包括:spid(系統過程ID),ecid(與spid相關的給定線程的環境ID),過程狀態,loginame, hostname, blk(模塊過程的系統ID),數據庫名稱,以及SQL Server執行過程的命令。
以下的范例是使用sp_who來列舉當前正在運行的過程:
USE master
EXEC sp_who
如果你想查找一個特定用戶過程,可以使用他或她的注冊,如下所示:
USE master
EXEC sp_who 'jharvey'
其他選擇,包括獲得當前運行過程或者特定過程的所有信息,可以仿制如下范例操作:
USE master
EXEC sp_who 'active'
USE master
EXEC sp_who '10' -- 10 is the specific process id