Modo de usuario único para SQL Server

Se aplica a:SQL Server

En este artículo se proporciona información y pasos para iniciar la instancia de SQL Server en modo de usuario único, lo que permite que solo un usuario se conecte a la instancia.

Inicie la instancia en modo de usuario único

Al iniciar SQL Server en modo de usuario único se permite que cualquier miembro del grupo local de administradores del equipo se conecte a la instancia de SQL Server como miembro del rol fijo de servidor sysadmin. Para obtener más información, consulte Conectarse a SQL Server cuando los administradores del sistema no tienen acceso.

En determinadas circunstancias, puede que sea necesario iniciar una instancia de SQL Server en modo de usuario único mediante la opción de inicio-m. Por ejemplo, podría querer cambiar las opciones de configuración del servidor o recuperar una base de datos master dañada u otra base de datos del sistema. Ambas acciones requieren que se inicie una instancia de SQL Server en modo de usuario único.

En el siguiente ejemplo se inicia la instancia de SQL Server en modo de usuario único y solo se permite la conexión a través del Editor de consultas de SQL Server Management Studio.

net start "SQL Server (MSSQLSERVER)" /m"Microsoft SQL Server Management Studio - Query"

Para restaurar una base de datos master en Linux en modo de usuario único, consulte Restauración de la base de datos maestra en Linux en modo de usuario único.

Consideraciones generales

Tenga en cuenta los siguientes aspectos cuando inicie una instancia de SQL Server en modo de usuario único:

  • Solo se podrá conectar al servidor un único usuario.

  • No se ejecuta el proceso CHECKPOINT. De manera predeterminada, se ejecuta automáticamente en el inicio.

Nota

Detenga el servicio del Agente SQL Server antes de conectarse a una instancia de SQL Server en modo de usuario único; de lo contrario, el servicio del Agente SQL Server utilizará la conexión y, por tanto, la bloqueará.

Al iniciar una instancia de SQL Server en modo de usuario único, SQL Server Management Studio puede conectarse a SQL Server. Se podría producir un error en el Explorador de objetos de Management Studio porque requiere más de una conexión para algunas operaciones. Para administrar SQL Server en modo de usuario único, ejecute las instrucciones de Transact-SQL conectándose a través del Editor de consultas de Management Studio o Azure Data Studio, o use la funcionalidad sqlcmd.

Cuando use la opción -m con SQLCMD o Management Studio, puede limitar las conexiones a una aplicación cliente especificada.

Nota

En Linux, SQLCMD debe escribirse en mayúsculas como se muestra.

Por ejemplo, -m"SQLCMD" limita las conexiones a una única conexión y esa conexión se debe identificar como el programa cliente sqlcmd. Use esta opción cuando esté iniciando SQL Server en modo de usuario único y una aplicación cliente desconocida esté usando la única conexión disponible. Para conectarse mediante el editor de consultas de Management Studio, use -m"Microsoft SQL Server Management Studio - Query".

Importante

No use esta opción como una característica de seguridad. La aplicación cliente proporciona el nombre de la misma y puede proporcionar un nombre falso como parte de la cadena de conexión.

Consideraciones de AlwaysOn

Hay consideraciones adicionales al usar el modo de servidor único para las instancias de SQL Server configuradas como una instancia de clúster de conmutación por error (FCI) AlwaysOn o las bases de datos forman parte de un grupo de disponibilidad AlwaysOn (AG).

Grupos de disponibilidad

El inicio del grupo de disponibilidad AlwaysOn y las bases de datos del grupo se omiten cuando SQL Server se inicia en modo de usuario único. Si necesita solucionar problemas con una base de datos que requiere iniciar SQL Server en modo de usuario único y la base de datos también forma parte de un grupo de disponibilidad, debe quitar la base de datos del grupo de disponibilidad antes de iniciar SQL Server en modo de usuario único para que la base de datos se conecte.

Instancias de clúster de conmutación por error

Para la instalación de SQL Server en un entorno en clúster, cuando SQL Server se inicia en modo de usuario único, la DLL de recursos de clúster utiliza la conexión disponible, con lo que impide cualquier otra conexión con el servidor. Cuando SQL Server está en este estado, si se intenta poner en línea el recurso del Agente SQL Server, puede producir la conmutación por error del recurso de SQL a otro nodo si el recurso está configurado para afectar al grupo.

Para solucionar el problema, utilice el procedimiento siguiente:

  1. Quite el parámetro de inicio -m de las propiedades avanzadas de SQL Server.

  2. Ponga sin conexión el recurso de SQL Server .

  3. Desde el nodo de propietario actual de este grupo, ejecute el comando siguiente en el símbolo del sistema:

    net start MSSQLSERVER /m
    
  4. Compruebe en el administrador de clústeres o en la consola de administración de clústeres de conmutación por error que el recurso de SQL Server sigue estando sin conexión.

  5. Conéctese a SQL Server usando el siguiente comando y realice la operación necesaria: SQLCMD -E -S<servername>.

  6. Una vez completada la operación, cierre el símbolo del sistema y vuelva a poner en línea SQL y otros recursos mediante el administrador de clústeres.