Comparteix a través de


Establecimiento de una base de datos en modo de usuario único

Se aplica a: SQL Server

Este artículo describe cómo configurar una base de datos definida por el usuario en SQL Server mediante SQL Server Management Studio o Transact-SQL. El modo de usuario único se suele utilizar para operaciones de mantenimiento y especifica que solo un usuario puede tener acceso a la base de datos cada vez.

Limitaciones

  • Si hay otros usuarios conectados a la base de datos en el momento de establecer la base de datos en modo de usuario único, sus conexiones a la base de datos se cerrarán sin previo aviso.

  • La base de datos permanece en modo de usuario único incluso después de que el usuario que ha establecido la opción cierra la sesión. A partir de ese momento, un usuario distinto, pero solo uno, puede conectarse a la base de datos.

Requisitos previos

  • Antes de establecer la base de datos como SINGLE_USER, compruebe que la opción AUTO_UPDATE_STATISTICS_ASYNC está establecida en OFF. Cuando esta opción se establece en ON, el subproceso en segundo plano que se usa para actualizar las estadísticas realiza una conexión con la base de datos y no se podrá tener acceso a la base de datos en modo de usuario único. Para más información, vea Opciones de ALTER DATABASE SET (Transact-SQL).

Permisos

Requiere el permiso ALTER en la base de datos.

Uso de SQL Server Management Studio

Para establecer una base de datos en modo de usuario único:

  1. En el Explorador de objetos , conéctese a una instancia de Motor de base de datos de SQL Servery, después, expándala.

  2. Haga clic con el botón derecho en la base de datos que quiera cambiar y, después, seleccione Propiedades.

  3. En el cuadro de diálogo Propiedades de la base de datos, seleccione la página Opciones.

  4. En la opción Restringir acceso , seleccione el modo único ( Single).

  5. Si hay otros usuarios conectados a la base de datos, aparecerá un mensaje Conexiones abiertas . Para cambiar la propiedad y cerrar el resto de conexiones, seleccione .

También puede utilizar este procedimiento para establecer la base de datos en modo de acceso múltiple o restringido. Para obtener más información sobre las opciones de Restringir acceso, vea Propiedades de la base de datos (página Opciones).

Uso de Transact-SQL

Para establecer una base de datos en modo de usuario único:

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. En este ejemplo la base de datos se establece en el modo SINGLE_USER para obtener acceso exclusivo. A continuación, el ejemplo establece el estado de la base de datos AdventureWorks2022 en READ_ONLY y devuelve el acceso a la base de datos a todos los usuarios.

Advertencia

Para obtener rápidamente acceso exclusivo, en el ejemplo de código se usa la opción de terminación WITH ROLLBACK IMMEDIATE. Esto hará que todas las transacciones incompletas se reviertan y que el resto de las conexiones a la base de datos AdventureWorks2022 se desconecten de inmediato.

USE master;
GO
ALTER DATABASE AdventureWorks2022
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2022
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2022
SET MULTI_USER;
GO