sql server效能查詢,連線數
阿新 • • 發佈:2019-02-13
1)使用以下查詢語句:
select
*
from
sysprocesses
where
dbid
in
(
select
dbid
from
sysdatabases
where
name
=
'MyDatabase'
)
由上面的語句可以看出系統表獲取一些連線和活動資訊,主要介紹下面的兩個系統表:
(1)sprocesses
sysprocesses 表中儲存關於執行在 Microsoft? SQL Server? 上的程序的資訊。這些程序可以是客戶端程序或系統程序。sysprocesses 只儲存在 master 資料庫中。
(2)Sysperfinfo
包括一個 Microsoft? SQL Server? 表示法的內部效能計數器,可通過 Windows NT 效能監視器顯示.
2)
獲取SQL Server的當前連線數:使用如下SQL:
SELECT COUNT(*) AS CONNECTIONS FROM master..sysprocesses
3)
還有一種方案是利用如下SQL:
select
connectnum=
count
(
distinct
net_address)-1
from
master..sysprocesses
理由是net_address是訪問者機器的網絡卡值,這個總該是唯一的吧.但是看起來得到的是所有時間內的連線數.
4)通過系統過程來查詢:
SP_WHO
'loginName'
loginName 是當然登陸Sql的使用者名稱,一般程式裡面都會使用一個username來登陸SQL這樣通過這個使用者名稱就能檢視到此使用者名稱登陸之後佔用的連線了。
如果不寫loginName,那麼返回的就是所有的sql server資料庫連線。