estoy tratando de conectarme a una base de datos del servidor sql me sale este error
Database 'XXX' is in transition. Try the statement later.
Hoy he cancelado una consulta larga, pero por alguna razón no puedo recuperar la base de datos. ¿Hay algo que pueda hacer?
sql-server
Rod Johnson
fuente
fuente
Respuestas:
Esto puede suceder a veces si intenta desconectar una base de datos o realizar ciertas otras operaciones y fallan. A veces, el bloqueo se puede borrar si cierra la instancia de SSMS que intentó la operación y luego la vuelve a abrir. Cierre y vuelva a abrir las instancias de SSMS conectadas al servidor.
También puede ocurrir si intenta desconectar la base de datos mientras se ejecuta una consulta larga. Verifique el monitor de actividad e intente eliminar cualquier consulta de larga duración, si corresponde y es segura.
Si ninguno de los anteriores funciona, cierre todas las instancias de SSMS, luego reinicie SQL a través del Administrador de configuración de SQL Server. Por lo general, eso lo curará, aunque la base de datos puede estar en modo de recuperación al principio.
fuente
Por extraño que parezca, solucioné este problema simplemente cerrando SSMS y volviendo a abrir.
fuente
Si bien el cierre de SSMS también funcionó para mí, dependiendo del problema, podría intentar esto:
Esta idea surgió de esta pregunta (y experiencia personal): /programming/4230290/sql-server-2008-how-do-i-disconnect-everyone-from-my-db
fuente
Hay una opción disponible en SQL Server Management Studio para poner una base de datos en línea / fuera de línea. Pero necesita permiso administrativo.
Para acceder, haga clic derecho en la base de datos -> Tareas -> Poner en línea.
fuente
Sé que ya está respondido, pero solo para agregar; si la situación es tal que estaba intentando desconectarla y luego falló, podría intentar eliminar el SPID que está tratando de cambiar el estado de la base de datos.
Haga sp_who o sp_who2 y encuentre un SPID que esté girando en la base de datos tratando de desconectar la base de datos. MATAR ese SPID, y se queda con DB en línea o fuera de línea que NO está en el estado de transición.
fuente