2010-09-02 40 views
0

雖然我試圖通過企業管理器分離數據庫,但它顯示的編號爲。的用戶訪問數據庫,並且它不允許我們在不清除數據庫連接的情況下進行分離。在SQL Server 2000中獲取連接用戶的數量

那麼,我想知道是否可以通過SQL查詢獲得結果(連接特定數據庫的用戶的數量)?如果是,如何?

快樂,永遠快樂 BKR Sivaprakash

回答

2

這會給你正確的結果。在查詢中添加數據庫名稱 -

select spid, status, loginame, 
hostname, blocked, db_name(dbid) as databasename, cmd 
from master..sysprocesses 
where db_name(dbid) like '%<database_name>%' 
and spid > 50 

這將包括來自SQL Agent的登錄。請注意, 同一用戶可以使用來自同一應用程序的多個連接,即 ,因此可以多次計數。

1
EXEC SP_WHO 

EXEC SP_WHO2 

可能(認爲這可能是SQL Server 2005中向上):

SELECT COUNT(*) AS ConnectionCount, 
CASE WHEN is_user_process =1 THEN 'UserProcess' ELSE 'System Process' END 
FROM sys.dm_exec_sessions 
GROUP BY is_user_process 
相關問題