SQL Server agent se bloque lorsque vous essayez de le démarrer
Cet article décrit les problèmes rencontrés par le service de l’agent SQL Server lorsque vous créez plusieurs travaux dans votre instance SQL Server.
Version du produit d’origine : SQL Server
Numéro de 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 : L’état de l’agent s’affiche en tant que « Démarrage » dans le Panneau de configuration, et le message d’erreur suivant est enregistré dans le fichier SQLAgent.log :
Une condition processeur inactive n’a pas été définie : les planifications de travaux OnIdle n’ont aucun effet.
En outre, les entrées suivantes peuvent être consigné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
Note
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.
Note
Le problème peut également se produire si vous configurez involontairement plusieurs abonnements pour vos rapports dans le Gestionnaire de configuration de Reporting Services.
Solution de contournement
Pour contourner ce problème, supprimez les travaux dont vous n’avez pas besoin.
Note
S’il existe de nombreuses entrées de travail, car vous configurez involontairement de nombreux abonnements, supprimez les abonnements inutiles à l’aide de Reporting Services Configuration Manager.
Plus d’informations
- Pour plus d’informations sur la suppression d’un travail, consultez Supprimer un ou plusieurs travaux.
- Pour plus d’informations sur la gestion de vos abonnements Reporting Services, consultez Créer et gérer des abonnements pour les serveurs de rapports en mode natif.
- Pour plus d’informations sur différents types d’attente, consultez les types d’attente SQL Server.