La base de données est en état de Transition
Aujourd'hui, j'étais en train de restaurer une base de données sur une base de données existante, j'ai simplement cliqué avec le bouton droit de la base de données dans SSMS --> Tâches --> mettre Hors ligne afin que je puisse restaurer la base de données.
Une petite fenêtre pop-up est apparu et a montré Query Executing.....
pendant un certain temps et puis jeta un message d'erreur indiquant que Database is in use cannot take it offline
. À partir de laquelle j'ai recueilli il y a des connexions à la base donc j'ai essayé d'exécuter la requête suivante
USE master
GO
ALTER DATABASE My_DatabaseName
SET OFFLINE WITH ROLLBACK IMMEDIATE
GO
De nouveau à ce stade, le SSM a montré Query Executing.....
pour quelque temps, et il a jeté l'erreur suivante:
Msg 5061, Level 16, State 1, Line 1
ALTER DATABASE failed because a lock could not be placed on database 'My_DatabaseName'. Try again later.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
Après ce que j'ai ne pouvait pas se connecter à la base de données via SSMS. et quand j'ai essayé de le Prendre en mode hors connexion à l'aide de SSMS il a jeté une erreur en disant:
Database is in Transition. Try later .....
À ce point, je ne peut tout simplement pas toucher à la base de données de rien, j'ai essayé, il a renvoyé le même message d'erreur Database is in Transition
.
Je l'ai eu sur google lire quelques questions où les gens se rencontraient le même genre de problème et ils ont recommandé de fermer les SSM et l'ouvrir à nouveau, j'en faisais et
Car ce n'est qu'un serveur de dev j'ai juste supprimé la base de données à l'aide de SSMS et restaurée sur une nouvelle base de données.
Ma question est ce que l'on aurait probablement causé cela ?? et comment je peux Éviter cela à l'avenir et si j'ai jamais retrouvent dans la même situation à l'avenir est-il un autre moyen de le fixer, puis d'autres la suppression de l'ensemble de la base de données ???
Merci
OriginalL'auteur M.Ali | 2014-01-23
Vous devez vous connecter pour publier un commentaire.
Consultez cet article.
http://oostdam.info/index.php/sectie-blog/289-sql-error-952-8ways-to-solve-it
- Je utiliser TSQL la plupart du temps, donc je n'ai pas rencontrer ce genre de problème encore.
Quelle est la version de la base de données SQL Server et à quel niveau de patch?
La prochaine fois, faites un usp_who2 pour voir ce que les threads en cours d'exécution.
http://craftydba.com/wp-content/uploads/2011/09/usp-who2.txt
Car la sortie est dans un tableau, vous pouvez effectuer une recherche par base de données.
Tuer tous les threads à l'aide de la base de données avant d'essayer de l'instruction ALTER.
Une nuit à environ 6 mois, j'ai eu un temps terrible d'obtenir un 2000 de la base de données hors ligne en raison d'une demande constamment frapper. Finalement, j'ai désactivé le compte d'utilisateur de sorte que je ne serait pas obtenir plus de connexions.
Extrêmement liens utiles merci beaucoup encore une fois. J'ai cherché sur google, tous les jours de na pas trouver un saignement chose d'autre alors
close your SSMS
🙂OriginalL'auteur CRAFTY DBA
Vérifier cela. Cela vous aidera à libérer les verrous. Fonctionne très bien! https://dba.stackexchange.com/questions/57432/database-is-in-transition-error
utiliser cette
et puis
pour chaque processnumber
<processnumber>
est le nombre dans leblocking_session_id
colonne!Merci beaucoup
OriginalL'auteur Mr. B