從我last question繼:分組sys.dm_exec_connections通過數據庫(它不是很喜歡sys.sysprocesses)
我已經寫了一些代碼升級SQL Server數據庫。在我升級數據庫,我打算限制與下面的語句對數據庫的訪問:
ALTER DATABASE Test SET SINGLE_USER WITH ROLLBACK IMMEDIATE
之前運行此代碼,我給用戶一個機會來選擇退出。在提示用戶時,我認爲能夠顯示活動連接列表(以設定的間隔連續輪詢)會很好;爲用戶提供一種工具來識別他們希望在繼續之前啓動服務器的應用程序/用戶。
在SQL 2000中,可以使用sys.sysprocesses
表查看適用於數據庫的所有連接。這包括沒有活動請求的連接(例如打開查詢分析器窗口並選擇數據庫時)。
然而,使用:
sys.dm_exec_connections
sys.dm_exec_sessions
;和sys.dm_exec_requests
我無法想出一個辦法來實現相同的效果。看來這些視圖僅通過請求將連接綁定到數據庫。有沒有辦法模仿sys.sysprocesses
的行爲?我不希望將此表用於SQL Server 2005/2008數據庫。
唉,sysprocesses它是... – Mitkins 2009-04-19 22:45:49