Bij mijn werkgever moet ik regelmatig updates uitvoeren van Dynamics NAV. Een van de vereisten is dan (soms) dat er niemand meer in de database zit. Je kunt dan proberen om de database in single user mode te zetten, maar vaak lukt dat niet. Daarom een manier gezocht (en gevonden) om snel alle verbindingen te verbreken. 

Voer het onderstaande script uit via de SQL Server management Studio. Vervang de xxxx even door de database waar het om gaat...

set nocount on
declare @databasename varchar(100)
declare @query varchar(max)
set @query = ''
set @databasename = 'xxxx'
if db_id(@databasename) < 4
begin
 print 'system database connection cannot be killed'
return
end
select @query=coalesce(@query,',' )+'kill '+convert(varchar, spid)+ '; '
from master..sysprocesses where dbid=db_id(@databasename)
if len(@query) > 0
begin
print @query
 exec(@query)
end
 

Op Azure: Voer onderstaande query uit op de database

DECLARE @kill varchar(8000) = '';

SELECT @kill = @kill + 'KILL ' + CONVERT(varchar(5), c.session_id) + ';'

FROM sys.dm_exec_connections AS c
JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE c.session_id <> @@SPID
--WHERE status = 'sleeping'
ORDER BY c.connect_time ASC

EXEC(@kill)