supprime toutes les sessions utilisateur sur une base de données, à l'exception de votre propre (que vous n'êtes pas autorisé à le faire)
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
Par « juste fait tourner ses roues », voulez-vous dire que vous obtenez aucun message que ce soit? Aucune erreur d'aucune sorte? Il existe une liste d'arguments ALTER que SQL Azure ne prend pas en charge sur MSDN (http://msdn.microsoft.com/en-us/library/ee336286.aspx), mais ceux-ci doivent tous vous donner des messages d'erreur. – tijmenvdk
Pouvez-vous s'il vous plaît poster l'instruction ALTER réelle? Le schéma de la table (script "CREATE") serait également utile. Le mode mono-utilisateur devrait fonctionner dans Azure FYI, il vous suffit de vous connecter au master db –
Cela ne fonctionne pas tel quel dans Azure, il échoue avec "Syntaxe incorrecte près de 'SINGLE_USER'." –