Dela via


SQL Server-agenten kraschar när du försöker starta den

I den här artikeln beskrivs de problem som uppstår i SQL Server-agenttjänsten när du skapar flera jobb i SQL Server-instansen.

Ursprunglig produktversion: SQL Server
Ursprungligt KB-nummer: 2795690

Symptom

En SQL Server-agent kraschar när du försöker starta den eller tar längre tid än förväntat att starta. Dessutom kan du uppleva ett eller flera av följande scenarier:

  • Scenario 1: Följande felmeddelande loggas i systemhändelseloggen:

    Tjänsten svarade inte på start- eller kontrollbegäran i tid.

  • Scenario 2: Statusen för agenten visas som "Starta" i Kontrollpanelen och följande felmeddelande loggas i filen SQLAgent.log:

    Ett inaktivt CPU-villkor har inte definierats – OnIdle-jobbscheman har ingen effekt.

    Dessutom kan följande poster loggas i filen SQLAgent.log :

    <Time Stamp> - ? [431] Populating subsystems cache... \
    <Time Stamp> - ? [432] There are 7 subsystems in the subsystems cache \
    <Time Stamp> - ? [124] Subsystem 'ActiveScripting' successfully loaded (maximum concurrency: 40)\
    <Time Stamp> - ? [124] Subsystem 'ANALYSISCOMMAND' successfully loaded (maximum concurrency: 400)\
    <Time Stamp> - ? [124] Subsystem 'ANALYSISQUERY' successfully loaded (maximum concurrency: 400)\
    <Time Stamp> - ? [124] Subsystem 'CmdExec' successfully loaded (maximum concurrency: 40)\
    <Time Stamp> - ? [124] Subsystem 'PowerShell' successfully loaded (maximum concurrency: 2)\
    <Time Stamp> - ? [124] Subsystem 'SSIS' successfully loaded (maximum concurrency: 400)\
    <Time Stamp> - ? [124] Subsystem 'TSQL' successfully loaded (maximum concurrency: 80)\
    <Time Stamp> - ! [364] The Messenger service has not been started - NetSend notifications will not be sent\
    <Time Stamp> - ? [129] SQLSERVERAGENT starting under Windows NT service control\
    <Time Stamp> - + [396] An idle CPU condition has not been defined - OnIdle job schedules will have no effect\
    <Time Stamp> - ? [110] Starting SQLServerAgent Monitor using '' as the notification recipient...\
    <Time Stamp> - ? [146] Request servicer engine started\
    <Time Stamp> - ? [133] Support engine started\
    <Time Stamp> - ? [167] Populating job cache...\
    <Time Stamp> - ? [131] SQLSERVERAGENT service stopping due to a stop request from a user, process, or the OS...\
    <Time Stamp> - ? [134] Support engine stopped\
    <Time Stamp> - ? [197] Alert engine stopped\
    <Time Stamp> - ? [168] There are 4731 job(s) [0 disabled] in the job cache\
    <Time Stamp> - ? [170] Populating alert cache...\
    <Time Stamp> - ? [171] There are 0 alert(s) in the alert cache\
    <Time Stamp> - ? [149] Request servicer engine stopped\
    <Time Stamp> - ? [248] Saving NextRunDate/Times for all updated job schedules...\
    <Time Stamp> - ? [249] 0 job schedule(s) saved\
    <Time Stamp> - ? [127] Waiting for subsystems to finish...\
    <Time Stamp> - ? [128] Subsystem 'ActiveScripting' stopped (exit code 1)\
    <Time Stamp> - ? [128] Subsystem 'ANALYSISCOMMAND' stopped (exit code 1)\
    <Time Stamp> - ? [128] Subsystem 'ANALYSISQUERY' stopped (exit code 1)\
    <Time Stamp> - ? [128] Subsystem 'CmdExec' stopped (exit code 1)\
    <Time Stamp> - ? [128] Subsystem 'PowerShell' stopped (exit code 1)\
    <Time Stamp> - ? [128] Subsystem 'SSIS' stopped (exit code 1)\
    <Time Stamp> - ? [175] Job scheduler engine stopped\
    
  • Scenario 3: Databasmotorservern visar ett SQL Server-process-ID (SPID) från tjänsten "SQLAgent – Generic Refresher". Dessutom visas följande jobb som körs i indatabufferten för SPID:

EXECUTE msdb.dbo.sp_sqlagent_refresh_job

Kommentar

SPID är i körbart tillstånd och väntar regelbundet på PREEMPTIVE_OS_LOOKUPACCOUNTSID väntetypen, eller så är SPID i väntetillstånd för ASYNC_NETWORK_IO väntetypen.

Orsak

Det här problemet beror på att det finns flera jobbposter i SQL Server.

Kommentar

Problemet kan också inträffa om du oavsiktligt konfigurerar flera prenumerationer för dina rapporter i Reporting Services Configuration Manager.

Lösning

Du kan undvika det här problemet genom att ta bort de jobb som du inte behöver.

Kommentar

Om det finns många jobbposter eftersom du oavsiktligt konfigurerar många prenumerationer tar du bort de onödiga prenumerationerna med hjälp av Reporting Services Configuration Manager.

Mer information