8
votes

Drop dB en utilisant Msbuild Même s'il est utilisé

J'utilise la commande suivante dans mon fichier MSBuild pour supprimer une base de données xxx

mais parfois je reçois l'erreur

ne peut pas supprimer la base de données car elle est actuellement utilisée.

Quelle commande dois-je utiliser afin que le dB soit supprimé même s'il est utilisé?


2 commentaires

Fermez toutes les connexions à la DB, puis essayez la commande Drop Database.


Comment ferme toutes les connexions à la DB à l'aide de SQLCMD?


6 Réponses :


-1
votes

Vous ne pouvez pas laisser tomber une base de données utilisée. Vérifier le lien pour ref


1 commentaires

Alors, existe-t-il un moyen d'utiliser SQLCMD que je peux fermer toute la connexion existante?



3
votes

Pour tuer toutes les connexions à votre base de données. Voir Tuez toutes les connexions actives à une base de données

Numéro maintenant votre commande Drop Database après la procédure ci-dessus.


0 commentaires

19
votes

Vous pouvez définir votre base de données sur unique_user code> pour déposer toutes les connexions existantes.

sqlcmd -E -S <ServerName> -Q "ALTER DATABASE <DBName> SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
sqlcmd -E -S <ServerName> -Q "DROP DATABASE <DBName>"


2 commentaires

Il empêche également de nouveaux utilisateurs de se connecter ;-)


@Michael Merci d'avoir publié la très courte réponse au lieu de le lier.



0
votes

S'il vous plaît utiliser quelque chose comme ceci: xxx


0 commentaires

0
votes

Essayez ceci:

sqlcmd -S .\MAPS -Q "RESTORE DATABASE Awards FROM DISK = 'C:\Awards_Project
\Awards_FULL.bak' WITH REPLACE, MOVE 'Awards' to 'C:\Awards_Project\Awards.mdf',
MOVE 'Awards_log' to 'C:\Awards_Project\Awards.ldf'" 


0 commentaires

0
votes

Vous pouvez également redémarrer le service SQL puis effectuer la liste déroulante. dans un myfile.bat xxx


0 commentaires