Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous recevez l’erreur 1069 lors du démarrage du service SQL Server, ce qui entraîne une défaillance d’ouverture de session. Cet article fournit des résolutions pour les événements liés à l’erreur 1069.
Version du produit d’origine : SQL Server
Numéro de base de connaissances d’origine : 282254
Symptômes
Lorsque vous essayez de redémarrer Microsoft SQL Server ou l’Agent SQL Server, le service ne démarre pas et vous recevez les messages d’erreur suivants, selon la façon dont vous essayez de démarrer le service :
À l’aide de l’applet Services :
Windows n’a pas pu démarrer le service SQL Server sur l’ordinateur local.
Erreur 1069 : le service n’a pas démarré en raison d’une défaillance d’ouverture de session.À l’aide d’une invite de commandes :
L’erreur système 1069 s’est produite.
Le service n’a pas démarré en raison d’une défaillance d’ouverture de session.
Vous trouverez peut-être des messages avec l’ID d’événement 7041 ou 7038 enregistrés dans le journal des événements système.
Cause
Ce problème se produit parce qu’il existe un problème avec le compte de service lui-même ou les informations actuellement enregistrées pour le compte de service.
Résolution de l’ID d’événement 7041
L’entrée avec l’ID d’événement 7041 dans le journal des événements système peut contenir le message d’erreur suivant :
Échec d’ouverture de session : l’utilisateur n’a pas d’autorisation pour le type d’ouverture de session demandé sur cet ordinateur
L’entrée de message complète dans le journal des événements ressemble à la suivante :
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.
Pour résoudre ce problème, vérifiez quels droits utilisateur sont attribués au compte de service SQL Server.
Démarrez la stratégie de sécurité locale (Start -> Secpol.msc).
Développez la stratégie locale, puis sélectionnez Attribution des droits utilisateur.
Vérifiez que les droits utilisateur requis sont attribués au compte de service en suivant les instructions fournies dans Privilèges et droits Windows. Attribuez manuellement les autorisations manquantes.
Vérifiez si le compte de service a reçu des autorisations Refuser*. Supprimez toutes les autorisations Deny* du compte de service SQL Service, puis retestez.
Par exemple, si le compte de service a reçu l’ouverture de session Refuser l’ouverture de session en tant que service
SeDenyServiceLogonRight
, révoquezSeServiceLogonRight
leSeDenyServiceLogonRight
droit d’ouverture de session et redémarrez SQL Server.
Résolution de l’ID d’événement 7038
Dans les entrées de journal associées à l’ID d’événement 7038, vous trouverez peut-être les messages d’erreur suivants :
- Cet utilisateur ne peut pas se connecter, car ce compte est actuellement désactivé.
- Le mot de passe de l’utilisateur doit être modifié avant de se connecter.
- Le nom d’utilisateur ou le mot de passe est incorrect.
- Le compte référencé est actuellement verrouillé et peut ne pas être connecté.
- Le domaine spécifié n’existe pas ou n’a pas pu être contacté.
Cet utilisateur ne peut pas se connecter, car ce compte est actuellement désactivé
L’entrée de message complète dans le journal des événements ressemble à la suivante :
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).
Pour résoudre ce problème, utilisez l’une des méthodes suivantes en fonction de votre scénario :
Si le compte de démarrage SQL Server est un compte d’utilisateur local sur l’ordinateur, ouvrez *Gestion de l’ordinateur (compmgmt.msc) et vérifiez si le compte de service est désactivé dans les utilisateurs et groupes locaux. S’il est désactivé, activez le compte et redémarrez le service SQL Server.
Si le compte de démarrage SQL Server est un compte de domaine Windows, vérifiez si le compte est désactivé dans Utilisateurs et ordinateurs Active Directory. S’il est désactivé, activez le compte et redémarrez le service SQL Server.
Le mot de passe de l’utilisateur doit être modifié avant de se connecter
L’entrée de message complète dans le journal des événements ressemble à la suivante :
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).
Pour résoudre ce problème, utilisez l’une des méthodes suivantes en fonction de votre scénario :
Si le compte de démarrage SQL Server est un compte d’utilisateur local sur l’ordinateur :
- Ouvrez gestion des ordinateurs (compmgmt.msc).
- Sélectionnez Utilisateurs et groupes locaux, puis sélectionnez Utilisateurs pour localiser le compte.
- Double-cliquez sur le compte d’utilisateur pour ouvrir ses propriétés.
- Désactivez l’utilisateur doit modifier le mot de passe à la propriété d’ouverture de session suivante pour le compte de démarrage SQL Server, puis appuyez sur OK.
- Redémarrez le service SQL Server.
Si le compte de démarrage SQL Server est un compte de domaine Windows :
- Ouvrez Utilisateurs et ordinateurs Active Directory sur un contrôleur de domaine.
- Sélectionnez Utilisateurs sous le domaine approprié.
- Double-cliquez sur le compte de domaine utilisé comme compte de service SQL Server pour ouvrir ses propriétés.
- Accédez à l’onglet Compte pour vérifier si l’utilisateur doit modifier le mot de passe à l’ouverture de session suivante. Si l’option est activée, désactivez cette option ou connectez-vous de manière interactive à une machine cliente Windows, puis définissez un nouveau mot de passe.
- Si vous avez modifié le mot de passe, mettez à jour le nouveau mot de passe pour le service SQL Server à l’aide de l’outil Gestionnaire de configuration SQL Server.
Le nom d'utilisateur ou le mot de passe est incorrect
Pour un problème de mot de passe incorrect, l’entrée de message complète dans le journal des événements ressemble à la suivante :
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).
Pour résoudre ce problème, effectuez les étapes suivantes :
Scénario 1 : Mot de passe incorrect
Ce message d’erreur indique que le nom de connexion actuel ou le mot de passe défini est incorrect. Pour vérifier et résoudre le problème, procédez comme suit :
Utilisez l’option
runas
pour tester les informations d’identification du compte de service :Ouvrez une invite de commandes Windows.
Exécutez la commande suivante :
runas /user:<localmachine>\<SQLSerivceAccount> cmd
Si la commande réussit, tapez soigneusement les mêmes informations d’identification dans Gestionnaire de configuration SQL Server, services, service SQL Server et ce compte.
Si la commande échoue et signale le même problème, vous devez réinitialiser le mot de passe de l’ouverture de session Windows.
Si le compte de démarrage SQL Server est un compte d’utilisateur local sur l’ordinateur, ouvrez Gestion de l’ordinateur (compmgmt.msc) et réinitialisez le mot de passe de l’utilisateur local.
Si le compte de démarrage SQL Server est un compte de domaine Windows, ouvrez Utilisateurs et ordinateurs Active Directory, puis mettez à jour le mot de passe du compte sous Utilisateurs. Une fois les informations d’identification mises à jour, revenez aux Gestionnaire de configuration SQL Server, services, SQL Server et entrez les mêmes informations d’identification.
Redémarrez le service SQL Server.
Pour taper le mot de passe correct dans le compte de service SQL Server sur l’ordinateur hôte SQL Server, suivez les procédures des services SCM : modifiez le mot de passe des comptes utilisés.
Scénario 2 : l’indicateur gMSA IsManagedAccount est défini de manière incorrecte
Si vous utilisez un compte gMSA (Group Managed Service Accounts) pour exécuter le service SQL Server et que l’indicateur IsManagedAccount
du service donné est défini sur false, vous pouvez recevoir un ID d’événement Service Control Manager 7038 dès que le secret mis en cache n’est pas valide.
Pour identifier et résoudre le problème, procédez comme suit :
Vérifiez que le compte que vous utilisez est un compte gMSA. Continuez uniquement après avoir confirmé gMSA.
- Si la commande suivante réussit sur le compte, vous utilisez un compte gMSG.
- En cas d’échec avec
Cannot find an object with identity: 'account'
, le compte de service n’est pas un compte gMSA.
Get-ADServiceAccount -Identity 'yourGmsaName' -Properties PasswordLastSet
Pour plus d’informations, consultez Vérifier le compte gMSA.
Exécutez la commande suivante dans l’invite de commandes et vérifiez l’état de
IsManagedAccount
. Le résultat souhaité est vrai. S’il est faux, poursuivez.sc qmanagedaccount <YourSQLServiceName>
Exemple pour une instance nommée SQL SERVER SQLPROD :
sc qmanagedaccount MSSQL$SQLPROD
Définissez l’indicateur sur true comme vous le souhaitez.
sc managedaccount <YourSQLServiceName> TRUE
Exemple pour une instance nommée SQL SERVER SQLPROD :
sc managedaccount MSSQL$SQLPROD TRUE
Essayez de redémarrer le service.
Le compte référencé est actuellement verrouillé et peut ne pas être connecté à
L’entrée de message complète dans le journal des événements ressemble à la suivante :
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).
Pour résoudre ce problème, utilisez l’une des méthodes suivantes en fonction de votre scénario :
Si le compte de démarrage SQL Server est un compte d’utilisateur local sur l’ordinateur :
- Ouvrez gestion de l’ordinateur (compmgmt.msc) et accédez aux utilisateurs et groupes locaux. Sélectionnez Ensuite Utilisateurs.
- Désactivez la case à cocher Verrouillage du compte pour le compte de démarrage SQL Server sous Utilisateurs et groupes locaux, puis sélectionnez OK.
- Redémarrez le service SQL Server.
Si le compte de démarrage SQL Server est un compte de domaine Windows :
- Ouvrez Utilisateurs et ordinateurs Active Directory sur le contrôleur de domaine.
- Sous Utilisateurs, double-cliquez sur le compte de démarrage SQL Server et accédez à l’onglet Compte .
- Vérifiez si le compte est marqué comme verrouillé.
- Si le compte est verrouillé, sélectionnez la zone Déverrouiller le compte , puis sélectionnez OK, définissez un mot de passe fort.
- Utilisez ensuite les mêmes informations d’identification pour la configuration du compte de service SQL Server dans Gestionnaire de configuration SQL Server, Services et SQL Server.
- Redémarrez le service SQL Server.
Le domaine spécifié n’existe pas ou n’a pas pu être contacté
L’entrée de message complète dans le journal des événements ressemble à la suivante :
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).
Pour résoudre ce problème, utilisez l’une des méthodes suivantes en fonction de votre scénario :
Configurez le démarrage de SQL Server pour qu’il démarre plus tard pour certains serveurs Windows, ce qui garantit que d’autres services Windows tels que NetLogon se terminent en premier et SQL Server démarrent sans problème. Il s’agit de la configuration par défaut par le programme d’installation de SQL à partir de SQL Server 2022.
Si l’option de démarrage retardée ne résout pas le problème pour votre scénario, une autre option consiste à modifier les options de récupération pour les services SQL Server. Spécifiez « Redémarrer le service » comme action pour les options d’échec. Vous pouvez exécuter cette option à partir de l’applet Services des outils d’administration en utilisant les interfaces familières du gestionnaire de contrôle des services.
- Cette option n’est pas recommandée pour les instances de cluster de basculement SQL (FCI) ou les groupes de disponibilité (AG), car cela peut entraîner des retards pendant les scénarios de basculement automatique.
Si aucune des options précédentes n’est possible, vous pouvez configurer le service SQL Server pour qu’il soit dépendant du service NETLOGON à l’aide de la commande suivante dans une console de ligne de commande avec élévation de privilèges :
sc config <YourSQLServiceName> depend=keyiso/netlogon
Exemple pour une instance nommée SQL SERVER SQLPROD :
sc config MSSQL$SQLPROD depend=keyiso/netlogon