Conectarse a SQL Server cuando los administradores del sistema no tienen accesoConnect to SQL Server When System Administrators Are Locked Out

ESTE TEMA SE APLICA A:síSQL Server noAzure SQL DatabasenoAzure SQL Data Warehouse noAlmacenamiento de datos paralelos THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

En este tema se describe cómo puede recobrar el acceso a Motor de base de datos de SQL ServerSQL Server Database Engine como administrador del sistema.This topic describes how you can regain access to the Motor de base de datos de SQL ServerSQL Server Database Engine as a system administrator. Un administrador del sistema puede perder el acceso a una instancia de SQL ServerSQL Server debido a una de las razones siguientes:A system administrator can lose access to an instance of SQL ServerSQL Server because of one of the following reasons:

  • Por equivocación se han quitado todos los inicios de sesión que son miembros del rol fijo de servidor sysadmin.All logins that are members of the sysadmin fixed server role have been removed by mistake.

  • Por equivocación se han quitado todos los grupos de Windows que son miembros del rol fijo de servidor sysadmin.All Windows Groups that are members of the sysadmin fixed server role have been removed by mistake.

  • 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.The logins that are members of the sysadmin fixed server role are for individuals who have left the company or who are not available.

  • La cuenta sa está deshabilitada o nadie conoce la contraseña.The sa account is disabled or no one knows the password.

    Una manera de recobrar el acceso es reinstalar SQL ServerSQL Server y adjuntar todas las bases de datos a la nueva instancia.One way in which you can regain access is to reinstall SQL ServerSQL Server and attach all the databases to the new instance. 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.This solution is time-consuming; and, to recover the logins, it might require restoring the master database from a backup. Si la copia de seguridad de la base de datos maestra es anterior, podría no tener toda la información.If the backup of the master database is older, it might not have all the information. 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.If the backup of the master database is more recent, it might have the same logins as the previous instance; therefore, administrators will still be locked out.

SoluciónResolution

Inicie la instancia de SQL ServerSQL Server en modo de usuario único usando las opciones -m o -f .Start the instance of SQL ServerSQL Server in single-user mode by using either the -m or -f options. A continuación, cualquier miembro del grupo local de administradores del equipo puede conectarse a la instancia de SQL ServerSQL Server como miembro del rol fijo de servidor sysadmin.Any member of the computer's local Administrators group can then connect to the instance of SQL ServerSQL Server as a member of the sysadmin fixed server role.

Nota

Cuando inicie una instancia de SQL ServerSQL Server en modo de usuario único, detenga primero el servicio del Agente SQL ServerSQL Server :When you start an instance of SQL ServerSQL Server in single-user mode, first stop the SQL ServerSQL Server Agent service. de lo contrario, el Agente SQL ServerSQL Server podría conectarse primero e impedir que se conecte como un segundo usuario.Otherwise, SQL ServerSQL Server Agent might connect first and prevent you from connecting as a second user.

Cuando use la opción -m con sqlcmd o SQL Server Management StudioSQL Server Management Studio, puede limitar las conexiones a una aplicación cliente especificada.When you use the -m option with sqlcmd or SQL Server Management StudioSQL Server Management Studio, you can limit the connections to a specified client application. Por ejemplo, -m"sqlcmd" limita las conexiones a una conexión única y esa conexión se debe identificar como el programa cliente sqlcmd .For example, -m"sqlcmd" limits connections to a single connection and that connection must identify itself as the sqlcmd client program. Use esta opción cuando esté iniciando SQL ServerSQL Server en modo de usuario único y una aplicación cliente desconocida esté usando la única conexión disponible.Use this option when you are starting SQL ServerSQL Server in single-user mode and an unknown client application is taking the only available connection. Para conectarse a través del Editor de consultas en Management StudioManagement Studio, use -m"Microsoft SQL Server Management Studio - Query".To connect through the Query Editor in Management StudioManagement Studio, use -m"Microsoft SQL Server Management Studio - Query".

Importante

No use esta opción como una característica de seguridad.Do not use this option as a security feature. La aplicación cliente proporciona el nombre de la misma y puede proporcionar un nombre falso como parte de la cadena de conexión.The client application provides the client application name, and can provide a false name as part of the connection string.

Para obtener instrucciones detalladas sobre cómo iniciar SQL ServerSQL Server en el modo de usuario único, vea Configurar opciones de inicio del servidor (Administrador de configuración de SQL Server).For step-by-step instructions about how to start SQL ServerSQL Server in single-user mode, see Configure Server Startup Options (SQL Server Configuration Manager).

Instrucciones paso a pasoStep-By-Step Instructions

Las instrucciones siguientes describen el proceso para conectarse a SQL Server 2017SQL Server 2017 que se ejecuta en Windows 8 o posterior.The following instructions describe the process for connecting to SQL Server 2017SQL Server 2017 running on Windows 8 or higher. Se proporcionan pequeñas modificaciones para las versiones anteriores de SQL Server o de Windows.Slight adjustments for earlier versions of SQL Server or Windows are provided. Estas instrucciones deben realizarse mientras se tiene iniciada sesión en Windows como miembro del grupo local de administradores y en ellas se da por supuesto que SQL Server Management StudioSQL Server Management Studio está instalado en el equipo.These instructions must be performed while logged in to Windows as a member of the local administrators group, and they assume that SQL Server Management StudioSQL Server Management Studio is installed on the computer.

  1. Desde la página de inicio, inicie SQL Server Management StudioSQL Server Management Studio.From the Start page, start SQL Server Management StudioSQL Server Management Studio. En el menú Ver , seleccione Servidores registrados.On the View menu, select Registered Servers. (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).(If your server is not already registered, right-click Local Server Groups, point to Tasks, and then click Register Local Servers.)

  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.In the Registered Servers area, right-click your server, and then click SQL Server Configuration Manager. Se debe solicitar permiso para ejecutarse como administrador y, a continuación, abrir el programa Administrador de configuración.This should ask for permission to run as administrator, and then open the Configuration Manager program.

  3. Cierre Management StudioManagement Studio.Close Management StudioManagement Studio.

  4. En el Administrador de configuración de SQL ServerSQL Server , en el panel izquierdo, seleccione Servicios de SQL Server.In SQL ServerSQL Server Configuration Manager, in the left pane, select SQL Server Services. En el panel derecho, busque la instancia de SQL ServerSQL Server.In the right-pane, find your instance of SQL ServerSQL Server. (La instancia predeterminada de SQL ServerSQL Server incluye (MSSQLSERVER) después del nombre del equipo.(The default instance of SQL ServerSQL Server includes (MSSQLSERVER) after the computer name. 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 ServerSQL Server y, después, haga clic en Propiedades.Named instances appear in upper case with the same name that they have in Registered Servers.) Right-click the instance of SQL ServerSQL Server, and then click Properties.

  5. En la pestaña Parámetros de inicio, en el cuadro Especifique un parámetro de inicio, escriba -m y, después, haga clic en Agregar.On the Startup Parameters tab, in the Specify a startup parameter box, type -m and then click Add. (Es un guion y a continuación una letra m minúscula).(That's a dash then lower case letter m.)

    Nota

    En algunas versiones anteriores de SQL ServerSQL 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.For some earlier versions of SQL ServerSQL Server there is no Startup Parameters tab. In that case, on the Advanced tab, double-click Startup Parameters. Los parámetros se abrirán en una ventana muy pequeña.The parameters open up in a very small window. Tenga cuidado de no cambiar ninguno de los parámetros existentes.Be careful not to change any of the existing parameters. Al final, agregue un nuevo parámetro ;-m y, a continuación, haga clic en Aceptar.At the very end, add a new parameter ;-m and then click OK. (Es un punto y coma, después un guion y a continuación una letra m minúscula).(That's a semi-colon then a dash then lower case letter m.)

  6. Haga clic en Aceptary, después del mensaje para reiniciar, haga clic con el botón derecho en el nombre del servidor; luego, haga clic en Reiniciar.Click OK, and after the message to restart, right-click your server name, and then click Restart.

  7. Después de que SQL ServerSQL Server se haya reiniciado, el servidor se encontrará en modo de usuario único.After SQL ServerSQL Server has restarted your server will be in single-user mode. Asegúrese de que el Agente de SQL ServerSQL Server no se esté ejecutando.Make sure that that SQL ServerSQL Server Agent is not running. Si está iniciado, usará su única conexión.If started, it will take your only connection.

  8. En la pantalla de inicio de Windows 8, haga clic con el botón secundario en el icono de Management StudioManagement Studio.On the Windows 8 start screen, right-click the icon for Management StudioManagement Studio. En la parte inferior de la pantalla, seleccione Ejecutar como administrador.At the bottom of the screen, select Run as administrator. (Esto pasará sus credenciales de administrador a SSMS).(This will pass your administrator credentials to SSMS.)

    Nota

    En versiones anteriores de Windows, la opción Ejecutar como administrador aparece como un submenú.For earlier versions of Windows, the Run as administrator option appears as a sub-menu.

    En algunas configuraciones, SSMS intentará realizar varias conexiones.In some configurations, SSMS will attempt to make several connections. Se producirá un error en varias conexiones porque SQL ServerSQL Server está en modo de usuario único.Multiple connections will fail because SQL ServerSQL Server is in single-user mode. Puede seleccionar una de las siguientes acciones para realizar.You can select one of the following actions to perform. Realice una de las acciones siguientes.Do one of the following.

    1. Conectar con el Explorador de objetos mediante la autenticación de Windows (que incluye sus credenciales de administrador).Connect with Object Explorer using Windows Authentication (which includes your Administrator credentials). Expanda Seguridade Inicios de sesióny haga doble clic en su propio inicio de sesión.Expand Security, expand Logins, and double-click your own login. En la página Roles de servidor , seleccione sysadminy, a continuación, haga clic en Aceptar.On the Server Roles page, select sysadmin, and then click 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).Instead of connecting with Object Explorer, connect with a Query Window using Windows Authentication (which includes your Administrator credentials). (Solo puede conectarse de esta forma si no se conectó con el Explorador de objetos). Ejecute código como el siguiente para agregar un nuevo inicio de sesión Autenticación de Windows que sea miembro del rol fijo de servidor sysadmin .(You can only connect this way if you did not connect with Object Explorer.) Execute code such as the following to add a new Windows Authentication login that is a member of the sysadmin fixed server role. El ejemplo siguiente agrega un usuario de dominio denominado CONTOSO\PatK.The following example adds a domain user named CONTOSO\PatK.

      CREATE LOGIN [CONTOSO\PatK] FROM WINDOWS;  
      ALTER SERVER ROLE sysadmin ADD MEMBER [CONTOSO\PatK];  
      
    3. Si SQL ServerSQL 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).If your SQL ServerSQL Server is running in mixed authentication mode, connect with a Query Window using Windows Authentication (which includes your Administrator credentials). Ejecute código como el siguiente para crear un nuevo inicio de sesión Autenticación de SQL ServerSQL Server que sea miembro del rol fijo de servidor sysadmin .Execute code such as the following to create a new SQL ServerSQL Server Authentication login that is a member of the sysadmin fixed server role.

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

      Advertencia

      Reemplace ************ con una contraseña segura.Replace ************ with a strong password.

    4. Si SQL ServerSQL Server se ejecuta en modo de autenticación mixto y quiere restablecer la contraseña de la cuenta sa , conecte con una ventana de consulta por medio de la autenticación de Windows (que incluye sus credenciales de administrador).If your SQL ServerSQL Server is running in mixed authentication mode and you want to reset the password of the sa account, connect with a Query Window using Windows Authentication (which includes your Administrator credentials). Cambie la contraseña de la cuenta sa con la siguiente sintaxis.Change the password of the sa account with the following syntax.

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

      Advertencia

      Reemplace ************ con una contraseña segura.Replace ************ with a strong password.

  9. En los pasos siguientes se vuelve a cambiar SQL ServerSQL Server al modo multiusuario.The following steps now change SQL ServerSQL Server back to multi-user mode. Cierre SSMS.Close SSMS.

  10. En el Administrador de configuración de SQL ServerSQL Server , en el panel izquierdo, seleccione Servicios de SQL Server.In SQL ServerSQL Server Configuration Manager, in the left pane, select SQL Server Services. En el panel derecho, haga clic con el botón derecho en la instancia de SQL ServerSQL Servery, después, haga clic en Propiedades.In the right-pane, right-click the instance of SQL ServerSQL Server, and then click Properties.

  11. En la pestaña Parámetros de inicio , en el cuadro Parámetros existentes , seleccione -m y, después, haga clic en Quitar.On the Startup Parameters tab, in the Existing parameters box, select -m and then click Remove.

    Nota

    En algunas versiones anteriores de SQL ServerSQL 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.For some earlier versions of SQL ServerSQL Server there is no Startup Parameters tab. In that case, on the Advanced tab, double-click Startup Parameters. Los parámetros se abrirán en una ventana muy pequeña.The parameters open up in a very small window. Quite el parámetro ;-m que agregó anteriormente y, a continuación, haga clic en Aceptar.Remove the ;-m which you added earlier, and then click OK.

  12. Haga clic con el botón derecho en el nombre del servidor y, después, haga clic en Reiniciar.Right-click your server name, and then click Restart.

    Ahora debe poder conectarse normalmente con una de las cuentas que es miembro del rol fijo de servidor sysadmin .Now you should be able to connect normally with one of the accounts which is now a member of the sysadmin fixed server role.

Ver tambiénSee Also

Iniciar SQL Server en modo de usuario único Start SQL Server in Single-User Mode
Opciones de inicio del servicio de motor de base de datosDatabase Engine Service Startup Options