首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

三種查詢 SQL Server 目前連線數的實用方法

     編輯:關於SqlServer

方法一:效能監視器 — 圖形化即時監控

  1. 執行 perfmon.msc 或「系統管理工具 → 效能」。
  2. 右鍵「計數器」→ 新增計數器。
  3. 效能物件選 SQL Server:General Statistics(或具名實例 MSSQL$InstanceName:General Statistics)。
  4. 選取 User Connections 計數器 → 新增 → 關閉。
  5. 圖表即顯示即時連線數趨勢。

優點:視覺化、可記錄長時間趨勢。
缺點:需登入伺服器主控台或具備遠端監控權限。

方法二:系統檢視 — T-SQL 快速查詢

-- SQL Server 2000
SELECT COUNT(*) AS CurrentConnections
FROM master.dbo.sysprocesses
WHERE dbid > 0;  -- 排除系統背景程序

-- SQL Server 2005+ 推薦使用 DMV
SELECT 
    DB_NAME(database_id) AS DatabaseName,
    COUNT(*) AS ConnectionCount,
    login_name,
    host_name,
    program_name
FROM sys.dm_exec_sessions
WHERE is_user_process = 1
GROUP BY database_id, login_name, host_name, program_name
ORDER BY ConnectionCount DESC;

進階:找出連線最多的前 10 個用戶端 IP

SELECT client_net_address, COUNT(*) AS Cnt
FROM sys.dm_exec_connections
GROUP BY client_net_address
ORDER BY Cnt DESC;

方法三:內建報表 — SSMS 標準報表

  1. SSMS 物件總管右鍵伺服器 → 報表 → 標準報表 → 活動 - 所有封鎖的交易 或 活動 - 所有工作階段。
  2. 報表顯示目前工作階段、等待類型、資源使用等詳細資訊。

常見錯誤訊息對應

錯誤可能原因排查方向
Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool.連線池耗盡檢查應用程式是否正確 Close()/Dispose();調大 Max Pool Size
Login failed for user ''. The user is not associated with a trusted SQL Server connection.認證失敗確認登入名稱、密碼、驗證模式(混合/Windows)
Maximum number of concurrent connections exceeded.達到授權或設定上限檢查 sp_configure 'user connections' 或 Core CAL 授權

快速腳本:單一資料庫連線明細

DECLARE @DBName sysname = 'YourDatabase';
SELECT 
    ses.session_id,
    ses.login_time,
    ses.login_name,
    ses.host_name,
    ses.program_name,
    ses.status,
    req.command,
    req.cpu_time,
    req.logical_reads,
    req.blocking_session_id
FROM sys.dm_exec_sessions ses
LEFT JOIN sys.dm_exec_requests req ON ses.session_id = req.session_id
WHERE ses.is_user_process = 1
  AND DB_NAME(req.database_id) = @DBName;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved