944 063 154

Blog

Activar el modo exclusivo en SQL Server

Publicado enSistemas TI

Cuando nos disponemos a realizar ciertas operaciones en SQL Server, es posible que se nos requiera de un acceso en modo exclusivo a una determinada base de datos. Y es que muchas de las tareas que se realizan en una base de datos SQL requieren de un uso exclusivo por parte del usuario que las va a realizar. Por ello, es muy habitual obtener errores en el caso de que haya conexiones abiertas contra la base de datos. En el caso de que esto ocurra obtendremos un error de aspecto similar a este:

Mens. 5030, Nivel 12, Estado 2, Línea 1
No se puede bloquear de forma exclusiva la base de datos para realizar la operación.

Para poder solucionar este problema, debemos ir a las propiedades de la base de datos SQL. Una vez allí, tendremos que realizar lo siguiente: acudir a las opciones de la base de datos > verificar cuál es su estado > restringir el acceso a la base de datos. Finalmente, una vez allí, deberemos seleccionar la opción single.

Modo exclusivo mediante consultas

Los pasos que te hemos indicado con anterioridad no son la única forma de obtener un acceso exclusivo a una base de datos SQL. Si lo prefieres, también puedes realizar una consulta a la base de datos para ejecutar la misma acción. Para ello, deberás realizar los siguiente:

ALTER DATABASE [nombre_bd] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

GO

Una vez hayas ejecutado la consulta, será cuando podamos proceder a realizar los cambios necesarios en la base de datos para otorgar a una determinada aplicación un acceso exclusivo a dicha base de datos.

Salir del modo exclusivo SQL Server

Cuando ya no necesites un acceso exclusivo a la base de datos SQL Server, puedes volver al modo que permite el acceso a la BBDD a múltiples usuarios. Para ello, primero deberás matar la conexión con la base de datos. Una vez la conexión se haya interrumpido, podrás volver a cambiar el modo de conexión con la base de datos SQL. Es decir, puedes deshacer los cambios que habías introducido para otorgar el modo exclusivo a un usuario haciendo que desapareciesen cualquier tipo de errores. Si lo que quieres es salir del modo exclusivo SQL Server, puedes hacerlo fácilmente a través de la siguiente consulta:

Kill [spid]
ALTER DATABASE [nombre_bd] SET MULTI USER

De esta forma, el servidor volverá al estado en el que se encontraba inicialmente, antes de que se introdujeran cambios en la configuración para evitar que aparecieran errores si una aplicación requiere de acceso exclusivo a una base de datos. A través de esta última consulta, desharás esta operación con la misma facilidad y se permitirá el uso de una base de datos a diferentes usuarios.