Compartir a través de


El servicio SQL Server y el servicio Agente SQL Server no se inician en un servidor independiente

Este artículo le ayuda a resolver los problemas en los que es posible que el servicio SQL Server y el servicio Agente SQL Server no se inicien en un servidor independiente.

Versión del producto original: SQL Server
Número de KB original: 307288

Síntomas

  • Problema 1: En un servidor independiente, es posible que el servicio MSSQLSERVER no se inicie y reciba el siguiente mensaje de error:

    An error 1068 - (The dependency service or group failed to start.) occurred while performing this service operation on the MSSQLServer Service.
    
  • Problema 2: De forma similar, el servicio SQLServerAgent también podría no iniciarse y recibirá el siguiente mensaje de error:

    An error 1068 - (The dependency service or group failed to start.) occurred while performing this service operation on the SQLServerAgent Service.
    

    El problema 1 y el problema 2 se producen cuando se cumplen las dos condiciones siguientes:

    • El equipo servidor está en un grupo de trabajo y no forma parte de un dominio.
    • Los servicios MSSQLSERVER y SQLServerAgent se establecen para usar una cuenta de dominio para el inicio.
  • Problema 3: En un servidor miembro del dominio, es posible que el servicio MSSQLSERVER no se inicie durante el inicio del servidor y reciba el siguiente mensaje en Visor de eventos con el identificador de evento 7038:

    The MSSQLSERVER service was unable to log on as domain\mssqlsvc with the currently configured password due to the following error: Source: NetLogon Description: There are currently no logon servers available to service the logon request. The MSSQLSERVER service terminated unexpectedly.
    

    Este problema se produce cuando se cumplen todas las condiciones siguientes:

    • El servidor forma parte de un dominio.
    • Los servicios MSSQLSERVER y SQLServerAgent se establecen para usar una cuenta de dominio para el inicio.
    • El modo de inicio de MSSQLSERVER y SQLServerAgent se establece en Automático.

Causa

El problema 1 y el problema 2 se producen porque el servidor es un equipo independiente y el servicio NetLogon no se inicia en el servidor. Por lo tanto, no se pueden realizar autenticaciones de inicio de sesión en todo el dominio.

El problema 3 se produce porque los servicios de SQL Server intentan iniciarse antes de que se inicie el servicio NetLogon.

Solución

  • Para corregir el problema 1 y el problema 2, siga estos pasos:

    1. Cambie la cuenta de inicio de MSSQLSERVER y SQLServerAgent para usar la cuenta del sistema local.
    2. Reinicie el servidor.

    Nota:

    En un equipo independiente, el servicio NetLogon debe establecerse para el inicio manual .

  • Para corregir el problema 3, use las siguientes soluciones alternativas:

    • Configure el inicio de SQL Server para que se retrase el inicio de determinados servidores Windows. Otros servicios de Windows, como NetLogon, se completan primero y SQL Server se inicia sin problemas.

    • Configure el inicio de SQL Server para volver a intentarlo. El inicio se puede completar en el segundo intento de inicio.

    • Cambie el valor de Detección de direcciones duplicadas (-DadTransmits) a 1 para todas las interfaces de red del servidor. Consulte el comando Set-NetIPInterface para obtener más información.

    • Cambie las opciones de recuperación de SQL Server y los servicios de Agente SQL Server. Especifique Reiniciar el servicio como acción para las opciones de error. Puede realizar esta opción desde el applet Servicios de Herramientas administrativas mediante las interfaces conocidas del Administrador de control de servicios.

    Si la opción de inicio retrasado no puede corregir el problema 3, agregue las siguientes dependencias al servicio SQL Server:

    • Servicio auxiliar ip
    • Servicio de servidor
    • Servicio de lista de redes

    Puede agregar las dependencias mediante los siguientes comandos. En el ejemplo siguiente se supone que una instancia MSSQLSERVERpredeterminada de SQL Server . Para una instancia con nombre, use MSSQL$INSTANCENAME:

    sc.exe qc MSSQLSERVER ::view dependencies
    sc.exe config MSSQLSERVER depend=iphlpsvc/LanmanServer/netprofm
    sc.exe qc MSSQLSERVER ::view dependencies
    

    Los comandos primero y tercero muestran las dependencias antes y después del cambio.