Hace unos días me encontré con un problema crítico en SQL Server 2005: una base de datos importante quedó bloqueada en modo single user, impidiendo el acceso a cualquier otro usuario o aplicación. En este artículo te explico cómo identificar este estado y cómo volver al modo multiusuario con un par de comandos. En definitiva, saber como reparar una base de datos SQL en modo single user.
La base de datos SQL en modo single user
Cuando una base de datos entra en modo de un solo usuario (single user), solo una conexión puede acceder a ella, lo que puede provocar bloqueos importantes si otros procesos o usuarios intentan conectarse al mismo tiempo. Este modo suele usarse para tareas de mantenimiento, pero si se activa por error o queda enganchado tras una tarea mal finalizada, puede bloquear por completo el acceso a la base de datos.
En nuestro caso, SQL Server 2005 mostraba el siguiente mensaje:
The database Works is not accessible. (ObjectExplorer)
Esto significa que la base de datos está actualmente ocupada por una sesión exclusiva y no permite otras conexiones.
La solución
Para devolver la base de datos al modo multiusuario, puedes ejecutar el siguiente comando:
ALTER DATABASE [BD] SET MULTI_USER WITH NO_WAIT
Y como alternativa o refuerzo, puedes utilizar el procedimiento almacenado clásico:
EXEC sp_dboption 'BD', 'single user', 'false'
Asegúrate de cerrar previamente cualquier conexión activa o matar la sesión que mantiene la base de datos en uso exclusivo.
Disculpa es que tengo este problema con la base de datos desde hace dos dias. Soy nuevo en sql y por esa razon no entiendo en que parte tenemos que ejecutar el comando que explicastes. Podria ser un poco mas especifico, es que he buscado en Sql donde poder ejecutar algo y no lo he logrado. Agradezco mucho tu ayuda, muchas gracias!!!!
excelente! muchas gracias, en tan solo 5 minutos de busqueda encontre la respuesta exacta
GRACIAS MUY BUENO…
Excelente funcionó, saqué las bases de datos de ese status.
Thks you Ruben, It worked.!