SQL Server agente si arresta in modo anomalo quando si tenta di avviarlo

Questo articolo illustra i problemi riscontrati dal servizio agente SQL Server quando si creano più processi nell'istanza di SQL Server.

Versione originale del prodotto: SQL Server
Numero KB originale: 2795690

Sintomi

Un agente SQL Server si arresta in modo anomalo quando si tenta di avviarlo o l'avvio richiede più tempo del previsto. Inoltre, è possibile che si verifichi uno o più degli scenari seguenti:

  • Scenario 1: il messaggio di errore seguente viene registrato nel registro eventi di sistema:

    Il servizio non ha risposto tempestivamente alla richiesta di avvio o controllo.

  • Scenario 2: lo stato dell'agente viene visualizzato come "Starting" nel Pannello di controllo e il messaggio di errore seguente viene registrato nel file SQLAgent.log:

    Una condizione di CPU inattiva non è stata definita. Le pianificazioni dei processi OnIdle non avranno alcun effetto.

    Inoltre, nel file di SQLAgent.log possono essere registrate le voci seguenti:

    <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: il server del motore di database visualizza un ID processo di SQL Server (SPID) dal servizio "SQLAgent - Aggiornamento generico". Inoltre, il processo seguente viene visualizzato come in esecuzione nel buffer di input dello SPID:

EXECUTE msdb.dbo.sp_sqlagent_refresh_job

Nota

Lo stato dello SPID è RUNNABLE e attende regolarmente il PREEMPTIVE_OS_LOOKUPACCOUNTSID tipo di attesa oppure lo stato dello SPID è in attesa per il ASYNC_NETWORK_IO tipo di attesa.

Causa

Questo problema si verifica perché sono presenti più voci di processo in SQL Server.

Nota

Il problema può verificarsi anche se si configurano involontariamente più sottoscrizioni per i report nel Reporting Services Configuration Manager.

Soluzione alternativa

Per risolvere questo problema, eliminare i processi che non sono necessari.

Nota

Se sono presenti molte voci di processo perché sono state configurate inavvertitamente molte sottoscrizioni, eliminare le sottoscrizioni non necessarie usando Reporting Services Configuration Manager.

Ulteriori informazioni