Conectarse a SQL Server cuando los administradores del sistema no tienen acceso

En este tema se describe cómo recuperar el acceso al motor de base de datos de SQL Server como administrador del sistema. Un administrador del sistema puede perder el acceso a una instancia de SQL Server debido a uno de los siguientes motivos:

  • Por equivocación se han quitado todos los inicios de sesión que son miembros del rol fijo de servidor sysadmin.

  • Por equivocación se han quitado todos los grupos de Windows que son miembros del rol fijo de servidor sysadmin.

  • Los inicios de sesión que son miembros del rol fijo de servidor sysadmin son para individuos que han dejado la compañía o no están disponibles.

  • La cuenta sa está deshabilitada o nadie conoce la contraseña.

Una manera en la que puede recuperar el acceso es volver a instalar SQL Server y adjuntar todas las bases de datos a la nueva instancia. Esta solución requiere mucho tiempo y, para recuperar los inicios de sesión, podría ser necesario restaurar la base de datos maestra a partir de una copia de seguridad. Si la copia de seguridad de la base de datos maestra es anterior, podría no tener toda la información. Si es más reciente, podría tener los mismos inicios de sesión que la instancia anterior; por consiguiente, los administradores aún no tendrán acceso.

Solución

Inicie la instancia de SQL Server en modo de usuario único mediante las opciones -m o -f. Luego cualquier miembro del grupo Administradores local del equipo puede conectarse a la instancia de SQL Server como miembro del rol fijo de servidor sysadmin.

Nota:

Al iniciar una instancia de SQL Server en modo de usuario único, detenga primero el servicio Agente SQL Server. De lo contrario, Agente SQL Server puede conectarse primero e impedir que se conecte como segundo usuario.

Cuando se usa la opción -m con sqlcmd o SQL Server Management Studio, puede limitar las conexiones a una aplicación cliente especificada. Por ejemplo, -m"sqlcmd" limita las conexiones a una sola conexión y esa conexión debe identificarse 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 a través del Editor de consultas en 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.

Para obtener instrucciones paso a paso sobre cómo iniciar SQL Server en modo de usuario único, vea Configurar opciones de inicio del servidor (Administrador de configuración de SQL Server).

Instrucciones paso a paso

En las instrucciones siguientes se describe el proceso para conectarse a SQL Server 2014 que se ejecuta en Windows 8 o versiones posteriores. Se proporcionan pequeñas modificaciones para las versiones anteriores de SQL Server o de Windows. Estas instrucciones se deben realizar al iniciar sesión en Windows como miembro del grupo de administradores locales y asumen que SQL Server Management Studio está instalado en el equipo.

  1. En la página Inicio, inicie SQL Server Management Studio. En el menú Ver , seleccione Servidores registrados. (Si el servidor aún no está registrado, haga clic con el botón derecho en Grupos de servidores locales, seleccione Tareasy, después, haga clic en Registrar servidores locales).

  2. En el área Servidores registrados, haga clic con el botón derecho en el servidor y, después, haga clic en Administrador de configuración de SQL Server. Se debe solicitar permiso para ejecutarse como administrador y, a continuación, abrir el programa Administrador de configuración.

  3. Cierre Management Studio.

  4. En el Administrador de configuración de SQL Server , en el panel izquierdo, seleccione Servicios de SQL Server. En el panel derecho, busque la instancia de SQL Server. (La instancia predeterminada de SQL Server incluye (MSSQLSERVER) después del nombre del equipo. Las instancias con nombre aparecen en mayúsculas con el mismo nombre que tienen en Servidores registrados). Haga clic con el botón derecho en la instancia de SQL Server y, después, haga clic en Propiedades.

  5. En la pestaña Parámetros de inicio , en el cuadro Especificar un parámetro de inicio , escriba -m y, a continuación, haga clic en Add. (Es un guion y a continuación una letra m minúscula).

    Nota

    En algunas versiones anteriores de SQL Server no hay ninguna pestaña Parámetros de inicio . En ese caso, en la pestaña Opciones avanzadas , haga doble clic en Parámetros de inicio. Los parámetros se abrirán en una ventana muy pequeña. Tenga cuidado de no cambiar ninguno de los parámetros existentes. Al final, agregue un nuevo parámetro ;-m y haga clic en OK. (Es un punto y coma, después un guion y a continuación una letra m minúscula).

  6. Haga clic en OKy después del mensaje para reiniciar, haga clic con el botón derecho en el nombre del servidor y, a continuación, haga clic en Reiniciar.

  7. Después de que SQL Server haya reiniciado el servidor estará en modo de usuario único. Asegúrese de que el Agente de SQL Server no se esté ejecutando. Si está iniciado, usará su única conexión.

  8. En la pantalla de inicio de Windows 8, haga clic con el botón derecho en el icono de Management Studio. En la parte inferior de la pantalla, seleccione Ejecutar como administrador. (Esto pasará sus credenciales de administrador a SSMS).

    Nota

    En versiones anteriores de Windows, la opción Ejecutar como administrador aparece como un submenú.

    En algunas configuraciones, SSMS intentará realizar varias conexiones. Se producirá un error en varias conexiones porque SQL Server está en modo de usuario único. Puede seleccionar una de las siguientes acciones para realizar. Realice una de las acciones siguientes.

    1. Conectar con el Explorador de objetos mediante la autenticación de Windows (que incluye sus credenciales de administrador). Expanda Seguridade Inicios de sesióny haga doble clic en su propio inicio de sesión. En la página Roles de servidor, seleccione sysadminy, a continuación, haga clic en .OK

    2. En lugar de conectar con el Explorador de objetos, conectar con una ventana de consulta mediante la autenticación de Windows (que incluye sus credenciales de administrador). (Solo puede conectarse de esta manera si no se ha conectado con Explorador de objetos). Ejecute código como el siguiente para agregar un nuevo inicio de sesión de autenticación de Windows que sea miembro del sysadmin rol fijo de servidor. El ejemplo siguiente agrega un usuario de dominio denominado CONTOSO\PatK.

      CREATE LOGIN [CONTOSO\PatK] FROM WINDOWS;  
      ALTER SERVER ROLE sysadmin ADD MEMBER [CONTOSO\PatK];  
      
    3. Si SQL Server se ejecuta en modo de autenticación mixto, conectar con una ventana de consulta mediante la autenticación de Windows (que incluye sus credenciales de administrador). Ejecute código como el siguiente para crear un nuevo inicio de sesión de autenticación de SQL Server que sea miembro del sysadmin rol fijo de servidor.

      CREATE LOGIN TempLogin WITH PASSWORD = '************';  
      ALTER SERVER ROLE sysadmin ADD MEMBER TempLogin;  
      

      Advertencia

      Reemplace ************ con una contraseña segura.

    4. Si el SQL Server se ejecuta en modo de autenticación mixta y desea restablecer la contraseña de la sa cuenta, conéctese con una ventana de consulta mediante la autenticación de Windows (que incluye las credenciales de administrador). Cambie la contraseña de la sa cuenta con la siguiente sintaxis.

      ALTER LOGIN sa WITH PASSWORD = '************';  
      

      Advertencia

      Reemplace ************ con una contraseña segura.

  9. Los pasos siguientes ahora cambian SQL Server al modo multiusuario. Cierre SSMS.

  10. En el Administrador de configuración de SQL Server , en el panel izquierdo, seleccione Servicios de SQL Server. En el panel derecho, haga clic con el botón derecho en la instancia de SQL Servery, después, haga clic en Propiedades.

  11. En la pestaña Parámetros de inicio , en el cuadro Parámetros existentes , seleccione -m y, a continuación, haga clic en Remove.

    Nota

    En algunas versiones anteriores de SQL Server no hay ninguna pestaña Parámetros de inicio . En ese caso, en la pestaña Opciones avanzadas , haga doble clic en Parámetros de inicio. Los parámetros se abrirán en una ventana muy pequeña. Quite el ;-m objeto que agregó anteriormente y, a continuación, haga clic en OK.

  12. Haga clic con el botón derecho en el nombre del servidor y, después, haga clic en Reiniciar.

Ahora debería poder conectarse normalmente con una de las cuentas que ahora es miembro del sysadmin rol fijo de servidor.

Consulte también

Iniciar SQL Server en modo de usuario único
Opciones de inicio del servicio de motor de base de datos