Delen via


Fout 1069 treedt op wanneer u SQL Server-service start

U ontvangt fout 1069 bij het starten van de SQL Server-service, wat resulteert in een aanmeldingsfout. Dit artikel bevat oplossingen voor fout 1069 gerelateerde gebeurtenissen.

Oorspronkelijke productversie: SQL Server
Oorspronkelijk KB-nummer: 282254

Symptomen

Wanneer u Microsoft SQL Server of de SQL Server-agent opnieuw start, wordt de service niet gestart en ontvangt u de volgende foutberichten, afhankelijk van de wijze waarop u de service probeert te starten:

  • Door de Services-applet te gebruiken:

    Windows kan de SQL Server-service niet starten op lokale computer.
    Fout 1069: De service is niet gestart vanwege een aanmeldingsfout.

  • Met behulp van een opdrachtprompt:

    Systeemfout 1069 is opgetreden.
    De service is niet gestart vanwege een aanmeldingsfout.

Mogelijk vindt u berichten met gebeurtenis-id 7041 of 7038 die zijn vastgelegd in het systeemgebeurtenislogboek.

Oorzaak

Dit probleem treedt op omdat er een probleem is met het serviceaccount zelf of met de informatie die momenteel is opgeslagen voor het serviceaccount.

Oplossing voor gebeurtenis-id 7041

De vermelding met gebeurtenis-id 7041 in het systeemlogboek kan het volgende foutbericht bevatten:

Aanmeldingsfout: de gebruiker heeft niet het aangevraagde aanmeldingstype op de computer gekregen.

De volledige berichtvermelding in het gebeurtenislogboek ziet er ongeveer als volgt uit:

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.

Als u dit probleem wilt oplossen, controleert u welke gebruikersrechten zijn toegewezen aan het SQL Server-serviceaccount.

  1. Start het lokale beveiligingsbeleid (start -> Secpol.msc).

  2. Vouw Lokaal beleid uit en selecteer vervolgens Toewijzing van gebruikersrechten.

  3. Controleer of de vereiste gebruikersrechten zijn toegewezen aan het serviceaccount door de instructies in Windows-bevoegdheden en -rechten te volgen. Wijs eventuele ontbrekende machtigingen handmatig toe.

  4. Controleer of aan het serviceaccount machtigingen voor Weigeren* zijn toegewezen. Verwijder eventuele Deny*-machtigingen uit het SQL Service-serviceaccount en test vervolgens opnieuw.

    Als aan het serviceaccount bijvoorbeeld aanmelden als een serviceSeDenyServiceLogonRight is toegewezen, samen met Aanmelden als een serviceSeServiceLogonRight, trekt u het SeDenyServiceLogonRight recht voor de aanmelding in en start u SQL Server opnieuw.

Oplossing voor gebeurtenis-id 7038

In de logboekvermeldingen die betrekking hebben op gebeurtenis-id 7038, kunnen de volgende foutberichten worden weergegeven:

Deze gebruiker kan zich niet aanmelden omdat dit account momenteel is uitgeschakeld

De volledige berichtvermelding in het gebeurtenislogboek ziet er ongeveer als volgt uit:

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).

Gebruik een van de volgende methoden op basis van uw scenario om dit probleem op te lossen:

  • Als het SQL Server-opstartaccount een lokaal gebruikersaccount op de computer is, opent u *Computerbeheer (compmgmt.msc) en controleert u of het serviceaccount is uitgeschakeld in Lokale gebruikers en groepen. Als dit is uitgeschakeld, schakelt u het account in en start u de SQL Server-service opnieuw.

  • Als het SQL Server-opstartaccount een Windows-domeinaccount is, controleert u of het account is uitgeschakeld in Active Directory. Als dit is uitgeschakeld, schakelt u het account in en start u de SQL Server-service opnieuw.

Het wachtwoord van de gebruiker moet worden gewijzigd voordat u zich aanmeldt

De volledige berichtvermelding in het gebeurtenislogboek ziet er ongeveer als volgt uit:

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).

Gebruik een van de volgende methoden op basis van uw scenario om dit probleem op te lossen:

  • Als het SQL Server-opstartaccount een lokaal gebruikersaccount op de computer is:

    1. Open Computerbeheer (compmgmt.msc).
    2. Selecteer Lokale gebruikers en groepen en selecteer vervolgens Gebruikers om het account te zoeken.
    3. Dubbelklik op het gebruikersaccount om de eigenschappen te openen.
    4. Wis de gebruiker moet het wachtwoord wijzigen bij de volgende aanmeldingseigenschap voor het SQL Server-opstartaccount en druk op OK.
    5. Start de SQL Server-service opnieuw op.
  • Als het SQL Server-opstartaccount een Windows-domeinaccount is:

    1. Open Active Directory op een domeincontroller.
    2. Selecteer Gebruikers onder het juiste domein.
    3. Dubbelklik op het domeinaccount dat wordt gebruikt als een SQL Server-serviceaccount om de eigenschappen te openen.
    4. Ga naar het tabblad Account om te controleren of de gebruiker het wachtwoord moet wijzigen bij de volgende aanmelding . Als de optie is ingeschakeld, wist u deze optie of meldt u zich interactief aan bij een Windows-clientcomputer en stelt u vervolgens een nieuw wachtwoord in.
    5. Als u het wachtwoord hebt gewijzigd, werkt u het nieuwe wachtwoord voor de SQL Server-service bij met behulp van het hulpprogramma SQL Server Configuration Manager .

De gebruikersnaam of het wachtwoord is onjuist

Voor een onjuist wachtwoordprobleem ziet de volledige berichtvermelding in het gebeurtenislogboek er ongeveer als volgt uit:

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).

Volg deze stappen om dit probleem op te lossen:

Scenario 1: Onjuist wachtwoord

De vermelding in het foutbericht geeft aan dat de huidige aanmeldingsnaam of het huidige ingestelde wachtwoord onjuist is. Voer de volgende stappen uit om het probleem te controleren en op te lossen:

  1. Gebruik de runas optie om de referenties van het serviceaccount te testen:

    1. Open een Windows-opdrachtprompt.

    2. Voer de volgende opdracht uit:

      runas /user:<localmachine>\<SQLSerivceAccount> cmd
      
  2. Als de opdracht slaagt, typt u zorgvuldig dezelfde referenties in SQL Server Configuration Manager, Services, SQL Server-service en dit account.

  3. Als de opdracht mislukt en hetzelfde probleem rapporteert, moet u het wachtwoord voor de Windows-aanmelding opnieuw instellen.

  4. Als het SQL Server-opstartaccount een lokaal gebruikersaccount op de computer is, opent u Computerbeheer (compmgmt.msc) en stelt u het wachtwoord van de lokale gebruiker opnieuw in.

  5. Als het SQL Server-opstartaccount een Windows-domeinaccount is, opent u Active Directory en werkt u het wachtwoord voor het account bij onder Gebruikers. Nadat de referenties zijn bijgewerkt, gaat u terug naar SQL Server Configuration Manager, Services, SQL Server en voert u dezelfde referenties in.

  6. Start de SQL Server-service opnieuw.

    Als u het juiste wachtwoord wilt typen in het SQL Server-serviceaccount op de SQL Server-hostcomputer, volgt u de procedures van SCM Services : het wachtwoord van de gebruikte accounts wijzigen.

Scenario 2: gMSA IsManagedAccount Flag is onjuist ingesteld

Als u een gMSA-account (Managed Service Accounts) voor groepen gebruikt om de SQL Server-service uit te voeren en de IsManagedAccount vlag voor de opgegeven service is ingesteld op false, ontvangt u mogelijk een Gebeurtenis-id 7038 van Service Control Manager zodra het geheim in de cache ongeldig is.

Volg deze stappen om het probleem te identificeren en op te lossen:

  1. Controleer of het account dat u gebruikt een gMSA-account is. Ga pas verder nadat u gMSA hebt bevestigd.

    • Als de volgende opdracht voor het account slaagt, gebruikt u een gMSG-account.
    • Als dit mislukt Cannot find an object with identity: 'account', is het serviceaccount geen gMSA-account.
    Get-ADServiceAccount -Identity 'yourGmsaName' -Properties PasswordLastSet
    

    Zie Het gMSA-account controleren voor meer informatie.

  2. Voer de volgende opdracht uit in de opdrachtprompt en controleer de status van IsManagedAccount. Het gewenste resultaat is waar. Als het onwaar is, gaat u verder.

    sc qmanagedaccount <YourSQLServiceName>
    

    Een voorbeeld voor een SQL Server-exemplaar met de naam SQLPROD:

    sc qmanagedaccount MSSQL$SQLPROD
    
  3. Stel de vlag naar wens in op waar.

    sc managedaccount <YourSQLServiceName> TRUE
    

    Een voorbeeld voor een SQL Server-exemplaar met de naam SQLPROD:

    sc managedaccount MSSQL$SQLPROD TRUE
    
  4. Probeer de service opnieuw te starten.

Het account waarnaar wordt verwezen, is momenteel vergrendeld en wordt mogelijk niet aangemeld bij

De volledige berichtvermelding in het gebeurtenislogboek ziet er ongeveer als volgt uit:

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).

Gebruik een van de volgende methoden op basis van uw scenario om dit probleem op te lossen:

  • Als het SQL Server-opstartaccount een lokaal gebruikersaccount op de computer is:

    1. Open Computerbeheer (compmgmt.msc) en ga naar Lokale gebruikers en groepen. Selecteer vervolgens Gebruikers.
    2. Schakel het selectievakje Account is vergrendeld voor het SQL Server-opstartaccount onder Lokale gebruikers en groepen en selecteer OK.
    3. Start de SQL Server-service opnieuw op.
  • Als het SQL Server-opstartaccount een Windows-domeinaccount is:

    1. Open Active Directory op de domeincontroller.
    2. Dubbelklik onder Gebruikers op het opstartaccount van SQL Server en ga naar het tabblad Account .
    3. Controleer of het account is gemarkeerd als vergrendeld.
    4. Als het account is vergrendeld, selecteert u het vak Account ontgrendelen en selecteert u OK, stelt u een sterk wachtwoord in.
    5. Gebruik vervolgens dezelfde referenties voor de configuratie van het SQL Server-serviceaccount in SQL Server Configuration Manager, Services en SQL Server.
    6. Start de SQL Server-service opnieuw.

Het opgegeven domein bestaat niet of kan geen contact worden gemaakt

De volledige berichtvermelding in het gebeurtenislogboek ziet er ongeveer als volgt uit:

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).

Gebruik een van de volgende methoden op basis van uw scenario om dit probleem op te lossen:

  • Configureer het opstarten van SQL Server zodanig dat de start voor bepaalde Windows-servers is vertraagd. Dit zorgt ervoor dat andere Windows-services, zoals NetLogon, eerst worden voltooid en SQL Server zonder problemen wordt gestart. Dit is de standaardconfiguratie door SQL Setup vanaf SQL Server 2022.

  • Als de vertraagde startoptie het probleem voor uw scenario niet verhelpt, kunt u ook de herstelopties voor de SQL Server-services wijzigen. Geef 'De service opnieuw opstarten' op als de actie voor de foutopties. U kunt deze optie uitvoeren vanuit de applet Services van Systeembeheer met behulp van de vertrouwde Service Control Manager-interfaces.

    • Deze optie wordt niet aanbevolen voor SQL Failover Cluster Instances (FCIs) of Beschikbaarheidsgroepen (AG's) omdat dit kan leiden tot vertragingen tijdens automatische failoverscenario's.
  • Als geen van de vorige opties haalbaar is, kunt u de SQL Server-service zo configureren dat deze afhankelijk is van de NETLOGON-service met behulp van de volgende opdracht in een console met verhoogde bevoegdheid:

    sc config <YourSQLServiceName> depend=keyiso/netlogon
    

    Een voorbeeld voor een SQL Server-exemplaar met de naam SQLPROD:

    sc config MSSQL$SQLPROD depend=keyiso/netlogon