matar todas las conexiones de usuario en SQL Azure

Necesito modificar una table y el Sql Azure solo hace girar sus ruedas.

Creo que es porque hay una connection en algún lugar que está accediendo a esa table.

¿Cómo puedo ver quién está accediendo a mis tablas y cómo puedo finalizar sus conexiones?

Estoy buscando algo similar a

ALTER DATABASE xxx SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO 

eso funcionará con sql azul

Puede usar sys.dm_exec_connections para ver información sobre las conexiones a un SQL Azure DB. Ejemplo aquí en Conexiones de monitoreo . Puede bloquear las conexiones erróneas en el nivel de Firewall de SQL o negarles el acceso a la tabla que le interesa con los procedimientos almacenados de security .

Cualquier database alternativa válida debería eliminar la connection. Por ejemplo, puede cambiar el tamaño de la demo de la database ALTER MODIFY (MAXSIZE = 5 GB)

SQL DB V12 admite la configuration de la database en modo de usuario restringido ( http://www.sqlindepth.com/alter-database-in-sql-v12/ ). También puedes matar las conexiones usando el command kill. Alternativamente, actualice las reglas del firewall solo para permitir su IP.

Elimina todas las sesiones de usuario en una database, excepto la suya (que no tiene permitido hacer)

 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