La base de datos 'XXX' está en transición. Prueba la declaración más tarde

27

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?

Rod Johnson
fuente
44
Con una pregunta como esta, realmente debería ser específico sobre qué servidor SQL y su versión. Supongo que te refieres a uno de los servidores Microsoft SQL, pero no deberíamos tener que adivinar.
John Gardeniers
Mira esto. Esto funcionó para mí. stackoverflow.com/a/27036481/4273753

Respuestas:

40

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.

Febo
fuente
Es tan extraño. ¿Sabes por qué está sucediendo?
Krismorte
11

Por extraño que parezca, solucioné este problema simplemente cerrando SSMS y volviendo a abrir.

Josh
fuente
demasiado fácil. trabajó para mi.
greg121
El cierre de SSMS y la reapertura también funcionaron para mí.
Michael Bollhoefer
1

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.

rchacko
fuente
0

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.

Jun Sato
fuente