J'utilise toujours ce qui suit:
USE master; -- get out of dbname myself
GO
-- kick all other users out:
ALTER DATABASE [dbname] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
-- prevent sessions from re-establishing connection:
ALTER DATABASE [dbname] SET OFFLINE;
Parfois, cela peut prendre un certain temps et parfois il est bloqué parce que c'est vous qui l'exécutez et que vous avez une connexion active à la base de données . Recherchez d'autres fenêtres de requête pouvant avoir le même contexte de base de données - cela peut inclure des boîtes de dialogue ouvertes, l'Explorateur d'objets, IntelliSense, des travaux de longue durée, etc.
Quand j'ai fini d'apporter mes modifications à la configuration de cette base de données, j'ai simplement:
ALTER DATABASE [dbname] SET ONLINE;
ALTER DATABASE [dbname] SET MULTI_USER;
Bien que, parfois, la chose que je dois faire pour cette base de données nécessite que la base de données soit en ligne, donc parfois je dois la laisser en mode mono-utilisateur et faire ceci:
ALTER DATABASE [dbname] SET ONLINE;
GO
USE [dbname];
Maintenant, je peux apporter mes modifications, puis lorsque je suis prêt à connecter d'autres utilisateurs, simplement:
ALTER DATABASE [dbname] SET MULTI_USER;