J'utilise la commande suivante dans mon fichier MSBuild pour supprimer une base de données mais parfois je reçois l'erreur p> ne peut pas supprimer la base de données car elle est actuellement utilisée. P>
blockQuote> Quelle commande dois-je utiliser afin que le dB soit supprimé même s'il est utilisé? P> P>
6 Réponses :
Vous ne pouvez pas laisser tomber une base de données utilisée. Vérifier le lien pour ref P>
Alors, existe-t-il un moyen d'utiliser SQLCMD que je peux fermer toute la connexion existante?
Pour tuer toutes les connexions à votre base de données. Voir Tuez toutes les connexions actives à une base de données p>
Numéro maintenant votre commande Drop Database après la procédure ci-dessus. P>
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>"
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.
S'il vous plaît utiliser quelque chose comme ceci:
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'"
Vous pouvez également redémarrer le service SQL puis effectuer la liste déroulante. dans un myfile.bat code>
Fermez toutes les connexions à la DB, puis essayez la commande Drop Database.
Comment ferme toutes les connexions à la DB à l'aide de SQLCMD?