Comment supprimer une base de données SQL Server avec un script T-SQL ?
Comment supprimer une base SQL Server ainsi que tous les fichiers associés, soit les fichiers .mdf, .ndf, .ldf et aussi les fichiers de sauvegardes .bak ? Utiliser la commande SQL DROP DATABASE comme ci-dessous, c’est à dire avec une vérification au préalable pour éviter les erreurs.
Lancer la commande uniquement si la base de données SQL Server existe vraiment sur le serveur et l’instance donnée. Plusieurs façons sont possibles pour supprimer une base de données, soit via l’interface graphique de SSMS, soit via une simple requête SQL comme dans cet article.
Comment supprimer une base de données SQL Server en T-SQL ?
Tout d’abord, la première partie du code permet vérifier si la base de données existe sur le serveur. Ensuite la deuxième partie du code supprime la base de données.
Note: Attention, cette commande de suppression de la base est irréversible! Vérifier que vous êtes en possession des sauvegardes avant de l’exécuter.
IF EXISTS ( SELECT * FROM SYS.SYSDATABASES WHERE NAME='MaBaseDeDonnees' ) BEGIN DROP DATABASE MaBaseDeDonnees END GO
La commande DROP DATABASE supprime les fichiers
A noter également un prérequis pour que la commande SQL supprime également les fichiers physiquement sur le disque, soit les extensions MDF, LDF et BAK. En effet, vérifier que la base de données est bien en ligne au moment de la suppression. Enfin, après avoir lancer cette commande il est possible de vérifier le résultat. Via l’explorateur Windows que les fichiers ont bien été supprimés.
Enfin, ce court tutoriel explique comment supprimer une Supprimer une base de données depuis un serveur SQL Server sans erreur avec un script.
Pour aller plus loin, parfois la commande de suppression ne fonctionne pas car la base de données est en cours d’utilisation. Voici comment gérer le problème et éviter l’erreur Impossible de supprimer la base de données car elle est en cours utilisation.
Voici un tutoriel T-SQL pour supprimer une table SQL Server.
Be the first to comment