El error 1069 se produce al iniciar el servicio SQL Server
Recibe el error 1069 al iniciar el servicio SQL Server, lo que produce un error de inicio de sesión. En este artículo se proporcionan soluciones para eventos relacionados con el error 1069.
Versión del producto original: SQL Server
Número de KB original: 282254
Síntomas
Al intentar reiniciar Microsoft SQL Server o el Agente SQL Server, el servicio no se inicia y recibe los siguientes mensajes de error, en función de cómo intente iniciar el servicio:
Mediante el applet Services:
Windows no pudo iniciar el servicio SQL Server en el equipo local.
Error 1069: El servicio no se inició debido a un error de inicio de sesión.Mediante un símbolo del sistema:
Error del sistema 1069.
El servicio no se inició debido a un error de inicio de sesión.
Puede encontrar mensajes con el identificador de evento 7041 o 7038 registrado en el registro de eventos del sistema.
Causa
Este problema se produce porque hay un problema con la propia cuenta de servicio o la información que se guarda actualmente para la cuenta de servicio.
Resolución del identificador de evento 7041
La entrada con el identificador de evento 7041 en el registro de eventos del sistema puede contener el siguiente mensaje de error:
Error de inicio de sesión: el usuario no tiene permisos para el tipo de inicio de sesión solicitado en este equipo.
La entrada de mensaje completa en el registro de eventos es similar a la siguiente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7041
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as NT Service\MSSQLSERVER with the currently configured password due to the following error:
Logon failure: the user has not been granted the requested logon type at this computer.
Service: MSSQLSERVER
Domain and account: <AccountName>
This service account does not have the required user right "Log on as a service."
User Action
Assign "Log on as a service" to the service account on this computer. You can use Local Security Settings (Secpol.msc) to do this.
If this computer is a node in a cluster, check that this user right is assigned to the Cluster service account on all nodes in the cluster.
If you have already assigned this user right to the service account, and the user right appears to be removed,
check with your domain administrator to find out if a Group Policy object associated with this node might be removing the right.
Para corregir este problema, compruebe qué derechos de usuario se asignan a la cuenta de servicio de SQL Server.
Inicie la directiva de seguridad local (Start -> Secpol.msc).
Expanda Directiva local y, a continuación, seleccione Asignación de derechos de usuario.
Compruebe que los derechos de usuario necesarios se asignan a la cuenta de servicio siguiendo las instrucciones de Privilegios y derechos de Windows. Asigne manualmente los permisos que faltan.
Compruebe si a la cuenta de servicio se le han asignado permisos Deny*. Quite los permisos Deny* de la cuenta de servicio de SQL y vuelva a probar.
Por ejemplo, si a la cuenta de servicio se le asignó Denegar inicio de sesión como servicio
SeDenyServiceLogonRight
junto con Iniciar sesión como servicioSeServiceLogonRight
, revoque elSeDenyServiceLogonRight
derecho para el inicio de sesión y reinicie SQL Server.
Resolución del identificador de evento 7038
En las entradas de registro relacionadas con el identificador de evento 7038, puede encontrar los siguientes mensajes de error:
- Este usuario no puede iniciar sesión porque esta cuenta está deshabilitada actualmente.
- La contraseña del usuario debe cambiarse antes de iniciar sesión.
- El nombre de usuario o la contraseña son incorrectos.
- La cuenta a la que se hace referencia está bloqueada actualmente y es posible que no se inicie sesión.
- El dominio especificado no existe o no se pudo ponerse en contacto con él.
Este usuario no puede iniciar sesión porque esta cuenta está deshabilitada actualmente
La entrada de mensaje completa en el registro de eventos es similar a la siguiente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7038
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
This user can't sign in because this account is currently disabled.
To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).
Para corregir este problema, use uno de los métodos siguientes en función de su escenario:
Si la cuenta de inicio de SQL Server es una cuenta de usuario local en el equipo, abra *Administración de equipos (compmgmt.msc) y compruebe si la cuenta de servicio está deshabilitada en Usuarios y grupos locales. Si está deshabilitado, habilite la cuenta y reinicie el servicio SQL Server.
Si la cuenta de inicio de SQL Server es una cuenta de dominio de Windows, compruebe si la cuenta está deshabilitada en Usuarios y equipos de Active Directory. Si está deshabilitado, habilite la cuenta y reinicie el servicio SQL Server.
La contraseña del usuario debe cambiarse antes de iniciar sesión.
La entrada de mensaje completa en el registro de eventos es similar a la siguiente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7038
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
The user's password must be changed before signing in.
To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).
Para corregir este problema, use uno de los métodos siguientes en función de su escenario:
Si la cuenta de inicio de SQL Server es una cuenta de usuario local en el equipo:
- Abra Administración de equipos (compmgmt.msc).
- Seleccione Usuarios y grupos locales y, a continuación, seleccione Usuarios para buscar la cuenta.
- Haga doble clic en la cuenta de usuario para abrir sus propiedades.
- Desactive la opción Usuario debe cambiar la contraseña en la siguiente propiedad de inicio de sesión para la cuenta de inicio de SQL Server y presione Aceptar.
- Reinicie el servicio SQL Server.
Si la cuenta de inicio de SQL Server es una cuenta de dominio de Windows:
- Abra Usuarios y equipos de Active Directory en un controlador de dominio.
- Seleccione Usuarios en el dominio correcto.
- Haga doble clic en la cuenta de dominio que se usa como una cuenta de servicio de SQL Server para abrir sus propiedades.
- Vaya a la pestaña Cuenta para comprobar si el usuario debe cambiar la contraseña en el siguiente inicio de sesión está habilitado. Si la opción está habilitada, desactive esta opción o inicie sesión de forma interactiva en un equipo cliente windows y, a continuación, establezca una nueva contraseña.
- Si ha cambiado la contraseña, actualice la nueva contraseña del servicio SQL Server mediante la herramienta Administrador de configuración de SQL Server.
El nombre de usuario o la contraseña son incorrectos
Para un problema de contraseña incorrecto, la entrada de mensaje completa en el registro de eventos es similar a la siguiente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7038
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
The user name or password is incorrect.
To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).
Siga estos pasos para solucionar este problema:
Escenario 1: Contraseña incorrecta
La entrada del mensaje de error indica que el nombre de inicio de sesión o la contraseña actuales no son correctos. Para comprobar y resolver el problema, siga estos pasos:
Use la
runas
opción para probar las credenciales de la cuenta de servicio:Abra un símbolo del sistema de Windows.
Ejecute el siguiente comando:
runas /user:<localmachine>\<SQLSerivceAccount> cmd
Si el comando se ejecuta correctamente, escriba cuidadosamente las mismas credenciales en Administrador de configuración de SQL Server, Servicios, servicio SQL Server y Esta cuenta.
Si se produce un error en el comando e informa del mismo problema, debe restablecer la contraseña para el inicio de sesión de Windows.
Si la cuenta de inicio de SQL Server es una cuenta de usuario local en el equipo, abra Administración de equipos (compmgmt.msc) y restablezca la contraseña del usuario local.
Si la cuenta de inicio de SQL Server es una cuenta de dominio de Windows, abra Usuarios y equipos de Active Directory y actualice la contraseña de la cuenta en Usuarios. Una vez actualizadas las credenciales, vuelva al Administrador de configuración de SQL Server, Servicios, SQL Server y escriba las mismas credenciales.
Reinicie el servicio SQL Server.
Para escribir la contraseña correcta en la cuenta de servicio de SQL Server en el equipo host de SQL Server, siga los procedimientos de SCM Services: cambiar la contraseña de las cuentas usadas.
Escenario 2: la marca IsManagedAccount de gMSA se establece incorrectamente
Si usa una cuenta de cuentas de servicio administradas (gMSA) de grupo para ejecutar el servicio de SQL Server y la IsManagedAccount
marca del servicio especificado está establecida en false, puede recibir un identificador de evento de Service Control Manager 7038 en cuanto el secreto almacenado en caché no sea válido.
Para identificar y resolver el problema, siga estos pasos:
Compruebe que la cuenta que usa es una cuenta de gMSA. Continúe solo después de confirmar gMSA.
- Si el siguiente comando se ejecuta correctamente en la cuenta, usa una cuenta de gMSG.
- Si se produce un error con
Cannot find an object with identity: 'account'
, la cuenta de servicio no es una cuenta de gMSA.
Get-ADServiceAccount -Identity 'yourGmsaName' -Properties PasswordLastSet
Para obtener más información, consulte Comprobación de la cuenta de gMSA.
Ejecute el siguiente comando en el símbolo del sistema y compruebe el estado de
IsManagedAccount
. El resultado deseado es true. Si es false, continúe.sc qmanagedaccount <YourSQLServiceName>
Ejemplo de una instancia de SQL Server denominada SQLPROD:
sc qmanagedaccount MSSQL$SQLPROD
Establezca la marca en true según sea necesario.
sc managedaccount <YourSQLServiceName> TRUE
Ejemplo de una instancia de SQL Server denominada SQLPROD:
sc managedaccount MSSQL$SQLPROD TRUE
Intente volver a iniciar el servicio.
La cuenta a la que se hace referencia está bloqueada actualmente y es posible que no se inicie sesión en .
La entrada de mensaje completa en el registro de eventos es similar a la siguiente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7038
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
The referenced account is currently locked out and may not be logged on to.
To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).
Para corregir este problema, use uno de los métodos siguientes en función de su escenario:
Si la cuenta de inicio de SQL Server es una cuenta de usuario local en el equipo:
- Abra Administración de equipos (compmgmt.msc) y vaya a Usuarios y grupos locales. A continuación, seleccione Usuarios.
- Desactive la casilla Cuenta está bloqueada para la cuenta de inicio de SQL Server en Usuarios y grupos locales y seleccione Aceptar.
- Reinicie el servicio SQL Server.
Si la cuenta de inicio de SQL Server es una cuenta de dominio de Windows:
- Abra Usuarios y equipos de Active Directory en el controlador de dominio.
- En Usuarios, haga doble clic en la cuenta de inicio de SQL Server y vaya a la pestaña Cuenta .
- Compruebe si la cuenta está marcada como bloqueada.
- Si la cuenta está bloqueada, seleccione el cuadro Desbloquear cuenta y seleccione Aceptar, establezca una contraseña segura.
- A continuación, use las mismas credenciales para la configuración de la cuenta de servicio de SQL Server en Administrador de configuración de SQL Server, Servicios y SQL Server.
- Reinicie el servicio SQL Server.
El dominio especificado no existe o no se pudo establecer contacto con él
La entrada de mensaje completa en el registro de eventos es similar a la siguiente:
Log Name: System
Source: Service Control Manager
Date: <Datetime>
Event ID: 7038
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <Server name>
Description:
The MSSQLSERVER service was unable to log on as xxx with the currently configured password due to the following error:
The specified domain either does not exist or could not be contacted.
To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).
Para corregir este problema, use uno de los métodos siguientes en función de su escenario:
Configure el inicio de SQL Server para que se retrase el inicio de determinados servidores Windows, lo que garantiza que otros servicios de Windows, como NetLogon, completen primero y SQL Server se inicien sin problemas. Esta es la configuración predeterminada por el programa de instalación de SQL a partir de SQL Server 2022.
Si la opción de inicio retrasada no soluciona el problema de su escenario, una opción alternativa es cambiar las opciones de recuperación de los servicios de 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.
- Esta opción no se recomienda para instancias de clúster de conmutación por error (FCI) de SQL o grupos de disponibilidad (AG), ya que esta opción podría dar lugar a retrasos durante escenarios de conmutación automática por error.
Si ninguna de las opciones anteriores es factible, puede configurar el servicio SQL Server para que tenga una dependencia en el servicio NETLOGON mediante el siguiente comando en una consola de línea de comandos con privilegios elevados:
sc config <YourSQLServiceName> depend=keyiso/netlogon
Ejemplo de una instancia de SQL Server denominada SQLPROD:
sc config MSSQL$SQLPROD depend=keyiso/netlogon