如何查看SQL SERVER數據庫當前連接數
1.通過管理工具
開始->管理工具->性能(或者是運行裏面輸入 mmc)然後通過添加計數器添加 SQL 的常用統計 然後在下面列出的項目裏面選擇用戶連接就可以時時查詢到數據庫的連接數了。不過此方法的話需要有訪問那臺計算機的權限,就是要通過Windows賬戶登陸進去纔可以添加此計數器。
2.通過系統表查詢
- SELECT * FROM
- [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT
- [DBID]
- FROM
- [Master].[dbo].[SYSDATABASES]
- WHERE
- NAME='DBName'
- )
DBName 是需要查看的數據庫,然後查詢出來的行數,就是當前的連接數。不過裏面還有一些別的狀態可以做參考用。
例如:連到master這個數據庫寫如下語句
- select * from sysprocesses where dbid in (select dbid from sysdatabases where name='MyDatabase')
將所有連接MyDatabase這個數據庫的連接記錄都求出來。
sysprocesses這個表記錄所以連接到SQL SERVER數據庫的連接。
3.通過系統的存儲過程來查找
- SP_WHO 'UserName'
UserName 是當然登陸Sql的用戶名,一般程序裏面都會使用一個UserName來登陸SQL這樣通過這個用戶名就能查看到此用戶名登陸之後佔用的連接了。
如果不寫UserName,那麼返回的就是所有的連接。
- SP_WHO 'sa'
- spid ecid status loginame hostname blk dbname cmd
- ------ ------ ------------------------------ -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- ----- -------------------------------------------------------------------------------------------------------------------------------- ----------------
- 1 0 background sa 0 NULL LAZY WRITER
- 2 0 background sa 0 master SIGNAL HANDLER
- 3 0 sleeping sa 0 NULL LOG WRITER
- 4 0 background sa 0 NULL LOCK MONITOR
- 5 0 background sa 0 master TASK MANAGER
- 6 0 background sa 0 master TASK MANAGER
- 7 0 sleeping sa 0 NULL CHECKPOINT SLEEP
- 8 0 background sa 0 master TASK MANAGER
- 9 0 background sa 0 master TASK MANAGER
- 10 0 background sa 0 master TASK MANAGER
- 11 0 background sa 0 master TASK MANAGER
- 12 0 background sa 0 master TASK MANAGER
- 13 0 background sa 0 master TASK MANAGER
- 51 0 runnable sa CHINA-668C6A66D 0 master SELECT
- 52 0 sleeping sa CHINA-668C6A66D 0 master AWAITING COMMAND
- (所影響的行數爲 15 行)