2009-04-19 45 views
0

從我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數據庫。

回答

0

呃...我推薦你的其他問題。

對不起,可是,我發現你還是要用的sysprocesses

它記錄爲被固定在Microsoft Connect 144515一個bug,I found it here

就個人而言,我仍然使用的sysprocesses因爲我舒服的,但懶惰和luddite,可能是...

+0

唉,sysprocesses它是... – Mitkins 2009-04-19 22:45:49