在sql server資料庫維護過程中,會用到檢查資料庫當前連線情況語句,主要使用的系統表來的查詢,如:檢視sql server當前連線數,檢視有哪些使用者連線了SQL Server資料庫,有多少人在連線資料庫,有多少會話等等。
工具/原料
SQL資料庫
SQL Server Management Studio
方法/步驟
select * from sys.sysprocesses --查程序,更多介紹,請複製表名百度一下,更詳細正規的介紹。
select * from sys.sysusers --查使用者相關資訊
Select * from sys.dm_exec_connections --此命令可以看到連線情況
--此命令可以看到有多少會話,一個連線可以有多個會話
select session_id,status,login_name,login_time,* from sys.dm_exec_sessions
Select sql_handle,* from sys.dm_exec_requests --查請求的ID,請求的狀態。如:
後臺。請求是後臺執行緒,例如資源監視器或死鎖監視器。
正在執行。請求正在執行。
可執行。請求正在執行,由於仲裁不足,因此要臨時進行妥善安排。
睡眠。沒有要做的工作。
掛起。請求正在等待工作執行緒選取。
已掛起。請求正在等待某個事件。
最終我們根據自己的需要將上面的表選擇需要的表進行連線查詢出想要的結果。
select DB_NAME(database_id) dbname,login_name,t1.session_id,
t1.request_id,t2.status,t1.start_time, host_name
from sys.dm_exec_requests t1
inner join sys.dm_exec_sessions t2
on t1.session_id=t2.session_id