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 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 estos casos 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 BBD > verificar cuál es su estado > restringir acceso a la base de datos. 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 la 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 interrumpidos, 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 y evitar que aparezcan 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, se evitará que aparezca el error si una aplicación requiere de acceso exclusivo a una base de datos. Además, podrás deshacer esta operación en cualquier momento con la misma facilidad.