Supprimer une base SQL Server avec un script

Comment supprimer une base de données SQL Server avec un script en T-SQL? 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 avec une simple commande?

 

Tout d’abord, cet exemple de code 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.

IF EXISTS (
  SELECT 	*
  FROM 	SYS.SYSDATABASES
  WHERE 	NAME='MABASEDEDONNEES'
)
BEGIN 
  DROP DATABASE MABASEDEDONNEES
END
GO

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.


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 via l’explorateur Windows que les fichiers ont bien été supprimés.

 

Pour aller plus loin, parfois la commande de suppression ne fonctionne pas car elle 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.  

 

Soyez le premier à commenter

Laisser un commentaire