Comment supprimer la base de données, la base de données d'erreur 5030 ne peut pas être verrouillée
Je suis en train de supprimer une base de données dans SQL Server 2005. Ma première tentative a produit l'erreur suivante:
5030: La base de données ne peut être exclusivement
verrouillé pour effectuer l'opération.
Depuis, j'ai tué tous les processus qui accèdent à la base de données. J'ai aussi enlevé la réplication de l'abonnement qu'il avait déjà été impliqué dans.
Des pensées sur ce qui pourrait être maintenant le verrou sur elle en plus les processus de SQL Server et de la réplication?
Mise à jour: j'ai redémarré le serveur, et qu'il fixe. J'essayais de l'éviter, puisque c'est un serveur de production, mais hé, que pouvez-vous faire?
source d'informationauteur jeremcc
Vous devez vous connecter pour publier un commentaire.
Je déteste le dire, mais une solution rapide est de redémarrer le système, assurez-vous que le serveur sql server service n'est pas démarré, alors vous devriez être en mesure de le supprimer.
Aussi, est-IIS arrêté si vous db est connecté à un site web de l'ap?
Un serveur de production dans lequel un grand nombre de connexions utilisation de la base de données que vous voulez supprimer? 🙂
Néanmoins, la façon de chasser tout le monde à partir de la base de données:
Puis supprimer la base de données:
Il y a encore une toute petite fenêtre d'opportunité entre les
USE [master];
etDROP DATABASE ...
où certains autres de la connexion peut se saisir de la 1 single permis de verrouillage sur la base de données, mais il ne vaut pas de travail autour de cela.Vous ne n'arrive pas à savoir si quelqu'un a laissé une transaction dans un inachevée, la restauration de l'état (ou sinon, inachevé)? Peut ainsi vérifier les verrous de la liste, trop.
Dans management studio, goto Gestion->Moniteur d'Activité (clic droit) -> Afficher les Processus. Qui vous donnera une liste complète de tout ce qui fonctionne, vous pouvez trier la liste par la Base de données pour voir ce qui est encore attaché, et vous pouvez aussi tuer toutes les connexions. Il est facile de se retrouver avec les connexions orphelines qui va vous empêcher d'obtenir l'accès exclusif que vous avez besoin.
Personne d'autre ne doit être à l'aide de la DB, y compris vous-même.
Pourquoi pourrait-on faire une DB supprimée de mode multi-utilisateur.
Pour éviter cette erreur, utilisez le script T-SQL ci-dessous dans la base de données master. Veillez à ce que l' (et de modifier l' @dbname) pour chaque base de données que vous exécutez la commande ALTER DATABASE.
Cette connexion "killer" le script ne fonctionnera que si Windows a établi les connexions JDBC à la base de données. Mais ce script est incapable de tuer les connexions JDBC pour Linux services (par exemple, JBoss). Ainsi, vous aurez toujours obtenir cette erreur si vous ne cessez pas de JBoss manuellement. Je n'ai pas essayé d'autres protocoles, mais s'il vous plaît commentaire si vous trouvez plus d'informations que vous vous en construire de nouveaux systèmes.
Cette erreur se produit normalement lorsque votre base de données est en mode Multi-Utilisateur où les utilisateurs peuvent accéder à votre base de données ou de certains objets font référence à votre base de données.
D'abord, vous devez définir la base de données en mode mono-utilisateur:
Maintenant, nous allons essayer de supprimer la base de données
Enfin définir la base de données Multi-utilisateur, mode