SQL Server agent se bloque lorsque vous essayez de le démarrer

Cet article décrit les problèmes rencontrés par SQL Server service d’agent lorsque vous créez plusieurs travaux dans votre SQL Server instance.

Version du produit d’origine : SQL Server
Numéro de la base de connaissances d’origine : 2795690

Symptômes

Un agent SQL Server se bloque lorsque vous essayez de le démarrer ou prend plus de temps que prévu pour démarrer. En outre, vous pouvez rencontrer un ou plusieurs des scénarios suivants :

  • Scénario 1 : Le message d’erreur suivant est enregistré dans le journal des événements système :

    Le service n’a pas répondu à la demande de démarrage ou de contrôle en temps voulu.

  • Scénario 2 : Le status de l’agent s’affiche comme « Démarrage » dans le Panneau de configuration et le message d’erreur suivant est enregistré dans le fichier SQLAgent.log :

    Une condition d’uc inactive n’a pas été définie : les planifications de travaux OnIdle n’auront aucun effet.

    En outre, les entrées suivantes peuvent être enregistrées dans le fichier 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\
    
  • Scénario 3 : Le serveur du moteur de base de données affiche un ID de processus SQL Server (SPID) à partir du service « SQLAgent - Generic Refresher ». En outre, le travail suivant s’affiche comme s’exécutant dans la mémoire tampon d’entrée du SPID :

EXECUTE msdb.dbo.sp_sqlagent_refresh_job

Remarque

Le SPID est dans l’état RUNNABLE et attend régulièrement le PREEMPTIVE_OS_LOOKUPACCOUNTSID type d’attente, ou le SPID est dans un état d’attente pour le ASYNC_NETWORK_IO type d’attente.

Cause

Ce problème se produit parce qu’il existe plusieurs entrées de travail dans SQL Server.

Remarque

Le problème peut également se produire si vous configurez involontairement plusieurs abonnements pour vos rapports dans le Reporting Services Configuration Manager.

Solution de contournement

Pour contourner ce problème, supprimez les travaux dont vous n’avez pas besoin.

Remarque

S’il existe de nombreuses entrées de travail car vous avez involontairement configuré de nombreux abonnements, supprimez les abonnements inutiles à l’aide de Reporting Services Configuration Manager.

Plus d’informations