Impossible de supprimer la base de données SQL Server

Comment éviter l’erreur : Impossible de supprimer la base de données car elle est en cours utilisation avec SQL Server? Il est possible de gérer les bases de données SQL avec des scripts ou via les différentes fenêtres de SQL Server Management Studio.

En effet, on peut par exemple supprimer une base de données simplement avec une commande SQL DROP DATABASE. Par contre, si des connexions actives existent sur la base en cours de suppression, alors la base retourne  un message d’erreur, car une base de données avec une connection active ne peut être supprimée.

Comment gérer cette erreur SQL Server : “Impossible de supprimer la base de données car elle est en cours utilisation. (Microsoft SQL Server, Erreur : 3702)”

Avec un script SQL de ce type :

USE [master];
GO
DROP DATABASE [ExpertOnly];
GO

Note: Attention à bien vérifier les sauvegardes de la base de données avant de la supprimer complètement. Surtout dans des environnement importants et de production.

Pour éviter cette erreur, fermer toutes les connexions actives sur la base de données et terminer les requêtes en cours. C’est à dire fermer les onglets ou terminer explicitement les connexions ouvertes sur la base.

C’est à dire fermer les onglets actifs si un seul utilisateur est actuellement connecté.

Pour la deuxième étape, exécuter la requête sp_who2 et identifier les sessions actives, puis les fermer avec la commande SQL Server kill.

Pour aller plus loin, voici la documentation officielle de la commande T-SQL kill.

Enfin, cette section explique la gestion des fonctions avec SQL Server.

Cependant, une alternative pour supprimer une base de données SQL et éviter une autre erreur, est de vérifier son existence avant d’éxécuter la commande Drop Database: 

USE [master];
GO
IF EXISTS (
SELECT name
FROM master.dbo.sysdatabases
WHERE name = 'ExpertOnly'
)
DROP DATABASE [ExpertOnly];
GO

Soyez le premier à commenter

Laisser un commentaire