我曾嘗試下面的代碼,殺人比Master
數據庫其他的SQL連接殺死活動連接保持:SQL服務器:通過主數據庫
DECLARE @kill varchar(8000) = '';
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'
FROM sys.dm_exec_sessions
WHERE database_id = db_id('MyDB')
EXEC(@kill);
此代碼爲我工作得很好。但是當我運行下面查詢看到更多的活動連接,然後我發現我的MASTER數據庫有21個活動連接。
SELECT
DB_NAME(dbid) as DBName,
COUNT(dbid) as NumberOfConnections,
loginame as LoginName
FROM
sys.sysprocesses
WHERE
dbid > 0
GROUP BY
dbid, loginame
,而我想關閉與主數據庫所有活動的連接,然後它失敗,錯誤信息是:「不能用殺來殺自己的過程」
請讓我知道,我怎麼能從'sa'帳戶持有的MASTER數據庫中終止所有21個活動連接?
非常感謝您的支持。
/保羅
你是否從不同的數據庫運行代碼?另外,確保沒有活動窗口打開,指向'master'數據庫。 –
嗨,埃裏克,謝謝,是的,我做了,然後錯誤信息是「只有用戶進程可以被殺死」。現在,我正在研究這些連接是如何由'sa'及其大約23個並且始終處於活動狀態的。 – Paul