Elimina tutte le sessioni utente su un database, tranne il proprio (che non sono autorizzati a fare)
DECLARE @mySessionId INT
DECLARE @dbName VARCHAR(50)
SET @dbName = '<Your database name>'
DECLARE @spid int
CREATE TABLE #UserSessions (spid SMALLINT, ecid SMALLINT, [Status] NCHAR(30), loginname NCHAR(128), hostname NCHAR(128), blk CHAR(5), dbname NCHAR(128), cmd NCHAR(16), request_id INT)
INSERT INTO #UserSessions ([spid], ecid, [Status], [loginname], [hostname], blk, [dbname], cmd, request_id) EXEC dbo.sp_who
SELECT @spid = min(spid) FROM #UserSessions WHERE NOT hostname = HOST_NAME() AND dbName = @dbName AND [status] = 'sleeping'
WHILE @spid IS NOT NULL
BEGIN
EXECUTE ('KILL ' + @spid)
SELECT @spid = min(spid) FROM #UserSessions WHERE NOT hostname = HOST_NAME() AND dbName = @dbName AND spid > @spid AND [status] = 'sleeping'
END
DROP TABLE #UserSessions
Con il termine "semplicemente gira le ruote", vuoi dire che si ottiene alcun messaggio di sorta? Nessun errore di alcun tipo? Esiste un elenco di argomenti ALTER che SQL Azure non supporta su MSDN (http://msdn.microsoft.com/en-us/library/ee336286.aspx), ma tutti dovrebbero darti dei messaggi di errore. – tijmenvdk
Potete per favore pubblicare l'attuale dichiarazione ALTER? Anche lo schema della tabella (script "CREATE") sarebbe utile. La modalità utente singolo dovrebbe funzionare in Azure FYI, devi solo connetterti al master db –
Questo non funziona così com'è in Azure, fallisce con "Sintassi errata vicino a 'SINGLE_USER'." –