Comment détacher une base de données en cours d'utilisation?

14

Même si rien ne l'utilise, je ne peux pas détacher une base de données car elle est utilisée.

Cannot detach the database 'DEMO' because it is currently in use.

J'ai essayé de redémarrer et reçois le même message.

Jack B Nimble
la source

Réponses:

17
--Kick all users off of the database NOW
ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE

--Kick all but after 60 seconds
ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK AFTER 60 SECONDS

--restore connection to users
ALTER DATABASE YourDatabase SET MULTI_USER
RateControl
la source
12

Avez-vous essayé de cocher la case «Supprimer les connexions» lorsque vous la détachez?

joeqwerty
la source
J'espérais plus pour une solution liée aux requêtes. Server Management Studio Express provoque très souvent un écran bleu sur ma machine. J'utilise donc un outil qui envoie simplement des requêtes au serveur.
Jack B Nimble
Un écran bleu est généralement lié à des problèmes matériels ou au niveau du système d'exploitation, et non à une application très spécifique telle qu'un outil de gestion de base de données. Je ne peux pas imaginer pourquoi ce programme particulier fait planter votre machine, mais c'est certainement un symptôme d'un problème grave sous-jacent.
Massimo
Il s'agit d'une combinaison de Visual Studio et de Server Management Studio Express, car j'ai vu le comportement sur 3 postes de travail différents. Cela peut provenir de l'exécution de plusieurs versions de Visual Studio à la fois, je sais que cela provoque un comportement bizarre dans IE7 lors de l'utilisation d'onglets.
Jack B Nimble
1
  1. Déconnectez-vous du serveur.
  2. Redémarrez le service SQL Server pour fermer toutes les connexions.
  3. Connectez-vous avec l'authentification Windows.
  4. Détachez facilement la base de données.
MSS
la source
1

N'oubliez pas de cocher "Supprimer les connexions" dans la fenêtre "Détacher la base de données", sinon c'est très simple et choisissez simplement Détacher dans le menu, voir l'image ci-dessous:

entrez la description de l'image ici

Ashraf El-Maadidi
la source
0

Cette commande doit supprimer toutes les connexions, puis vous permettre de vous détacher.

ALTER DATABASE SET SINGLE_USER WITH ROLLBACK_IMMEDIATE

DanBig
la source