Erreur sur renommer la base de données dans SQL Server 2008 R2
Je suis l'aide de cette requête pour renommer la base de données:
ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted]
Mais il affiche une erreur excuting:
Msg 5030, Niveau 16, État 2, Ligne 1
La base de données n'a pas pu être verrouillée exclusivement pour effectuer l'opération.
Est quelque chose de mal avec ma requête?
- Il n'y a rien de mal à la requête de l'erreur est vous dire que les autres connexions sont connectés à la base de données, de sorte que vous n'avez pas le droit de le renommer en ce moment.
- Si vous faites cela à partir de SSMS, assurez-vous que vous n'avez pas une fenêtre de requête ouverte contre que db, car c'est une connexion distincte qui place un verrou sur la db.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer le réglage de la base de données en mode mono-utilisateur.
https://stackoverflow.com/a/11624/2408095
Définir la base de données unique mode:
Essayez de renommer la base de données:
Ensemble de la base de données en mode Multi-utilisateurs:
WITH ROLLBACk IMMEDIATE
pour multi-utilisateur?Essayez de fermer toutes les connexions à votre première base de données:
Prises de ici
Vous pouvez également faire un clic droit de votre base de données dans l'Explorateur d'Objets et allez dans les Propriétés. À partir de là, allez dans les Options. Faites défiler vers le bas et ensemble de Restreindre l'Accès à SINGLE_USER. Changer votre nom de base de données, puis revenir en arrière et revenir à MULTI_USER.
Ce fait pour moi:
C'est parce que quelqu'un d'autre accède à la base de données.. Mettre la base de données en mode mono-utilisateur, puis de le renommer.
Ce lien peut vous Aider à résoudre le problème: http://msdn.microsoft.com/en-IN/library/ms345378(v=sql.105).aspx
et aussi ce lien: http://msdn.microsoft.com/en-us/library/ms345378.aspx
Modifier la base de données en mode mono-utilisateur, comme indiqué dans les autres réponses
Parfois, même après la conversion en mode utilisateur unique, le seul lien autorisé à la base de données peut être en cours d'utilisation.
Pour fermer une connexion, même après la conversion en mode mono-utilisateur à essayer:
Regarder les résultats et de voir l'ID de la connexion à la base de données en question.
Puis utilisez la commande ci-dessous pour fermer cette connexion (il ne devrait être qu'une puisque la base de données est maintenant en mode mono-utilisateur)
Remplacer connection_id avec l'ID dans les résultats de la 1ère requête
1.base de données dont le 1er single user mode
MODIFIER LA BASE DE DONNÉES BOSEVIKRAM SET SINGLE_USER AVEC LA RESTAURATION IMMÉDIATE
2.RENOMMER LA BASE DE DONNÉES
MODIFIER la BASE de données BOSEVIKRAM MODIFIER NOM = [BOSEVIKRAM_Deleted]
3.DATABAE ENSEMBLE MULIUSER MODE
MODIFIER la BASE de données BOSEVIKRAM_Deleted SET MULTI_USER AVEC la RESTAURATION IMMÉDIATE
Une autre façon de fermer toutes les connexions:
Outils d'administration > Afficher les Services Locaux
Arrêter/Démarrer le "SQL Server (MSSQLSERVER)" service