Sql Agent-service mislukt af en toe

Dit artikel bevat richtlijnen voor probleemoplossing voor een probleem waarbij de SQL Agent-service herhaaldelijk niet meer reageert met regelmatige tussenpozen.

Symptomen

De SQL Server Agent-service mislukt af en toe op een SQL Server AlwaysOn-cluster. Wanneer de service mislukt, wordt het volgende foutbericht toegevoegd aan het SQL Server Agent-logboek:

[510] SQLAgent failed, dump generated in \<SQL_Instance_Log_Directory\>  
[LOG] Exception 29539 caught at line 233 of file sql\mpu\SqlAgent\src\autostrt.cpp. SQLServerAgent initiating self-termination.

Oorzaak

Deze fouten treden op als de SQL Server Agent-service de volgende registersubsleutel niet ophaalt:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceID>\SQLServerAgent\AutoRegistryRefresh

Wanneer het ophalen van de registersubsleutel mislukt, rapporteert de SQL Server Agent-service een uitzondering in het logboek en wordt deze beëindigd.

Het ophalen van registersubsleutels kan om de volgende redenen mislukken:

  • Antivirus- of endpoint protection-software die de toegang tot het register verstoort
  • Ontbrekende of onjuist geconfigureerde registersleutels
  • Tijdelijke toegangsfouten in het Windows-register

Solution

Volg deze stappen om dit probleem op te lossen.

Stap 1: De registersleutel controleren

  1. Start Registereditor (regedit.exe).
  2. Ga naar het volgende pad: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceID>\SQLServerAgent.
  3. Controleer of de AutoRegistryRefresh sleutel bestaat.
  4. Als de AutoRegistryRefresh sleutel ontbreekt, maakt u een DWORD-waarde (32-bits) met de naam AutoRegistryRefreshen stelt u de waarde in op 1.

Stap 2: SQL Server uitsluiten van antivirusscans

Belangrijk

Het proces voor het toevoegen van een uitsluiting aan uw antivirus- of endpoint protection-software verschilt per uitgever. Neem contact op met de uitgever van uw software voor specifieke instructies.

  1. Configureer uw antivirus- of endpoint protection-software om de algemene SQL Server-processen uit te sluiten:
    • sqlservr.exe
    • sqlagent.exe
    • ReportingServicesService.exe
    • msmdsrv.exe
    • fdlauncher.exe
    • fdhost.exe
  2. Sluit ook de map waarin SQL Server is geïnstalleerd uit. Bijvoorbeeld: C:\Program Files\Microsoft SQL Server\.

Zie Antivirussoftware configureren voor gebruik met SQL Server voor meer informatie over het configureren van uw antivirus- of endpoint protection-software voor samenwerking met SQL Server.

Stap 3: Gebeurtenislogboeken en dumpbestanden controleren

Controleer of de logboeken of het meest recente SQL Agent-dumpbestand nieuwe fouten bevatten:

  1. Controleer de SQL Server Agent-logboeken in: <SQL_Instance_Log_Directory>\SQLAGENT.OUT\
  2. Controleer de toepassings- en systeemlogboeken in Logboekviewer op verwante fouten.
  3. Analyseer het SQL Agent-dumpbestand. Als er meerdere dumpbestanden worden gegenereerd, richt u zich op de meest recente.

Als er geen nieuwe fouten worden gerapporteerd, gaat u naar de volgende stap. Als er nieuwe fouten zijn, herhaalt u de vorige stappen en controleert u de gebeurtenislogboeken en dumpbestanden opnieuw.

Stap 4: DE SQL Server Agent-service opnieuw starten

Start de SQL Server Agent-service opnieuw om de wijzigingen volledig van kracht te laten worden.

Stap 5: Stabiliteit bewaken

  1. Bewaak de SQL Server Agent-logboeken voor elk terugkeerpatroon van de fout.
  2. Controleer of er geen nieuwe dumpbestanden worden gegenereerd in de logboekmap.