Maison > base de données > tutoriel mysql > Comment suivre l'état des tâches planifiées dans SQL Server ?

Comment suivre l'état des tâches planifiées dans SQL Server ?

Linda Hamilton
Libérer: 2024-12-27 20:02:12
original
920 Les gens l'ont consulté

How to Track the Status of Scheduled Jobs in SQL Server?

Comment surveiller l'état des tâches planifiées dans SQL Server

Lors de l'exécution de procédures stockées qui planifient des tâches, il est crucial de surveiller la progression de ces travaux pour garantir leur achèvement et leur réussite dans les délais. Cet article vous guidera à travers les étapes permettant de déterminer l'état des tâches planifiées dans SQL Server :

  1. Liste des tâches planifiées n'ayant pas encore démarré

    • Utilisez la requête suivante pour récupérer une liste des tâches planifiées qui n'ont pas encore été exécutées. start :
    SELECT name, schedule_next_run
    FROM sysjobs_view
    WHERE next_run_date > GETDATE()
    Copier après la connexion
  2. Liste des tâches en cours d'exécution

    • Pour déterminer les tâches en cours d'exécution, exécutez :
    SELECT job.name, job_id, activity.run_requested_date
    FROM msdb.dbo.sysjobs_view job
    JOIN msdb.dbo.sysjobactivity activity ON job.job_id = activity.job_id
    WHERE DATEADD(HOUR, -1, GETDATE()) < activity.run_requested_date AND activity.run_status <> 2
    Copier après la connexion
  3. Achèvement du travail Statut

    • La requête suivante peut être utilisée pour identifier les tâches qui se sont terminées avec succès ou arrêtées en raison d'erreurs :
    SELECT
        job.name, 
        job.job_id, 
        job.originating_server, 
        activity.run_requested_date, 
        DATEDIFF( SECOND, activity.run_requested_date, GETDATE() ) as Elapsed
    FROM 
        msdb.dbo.sysjobs_view job
    JOIN
        msdb.dbo.sysjobactivity activity
    ON 
        job.job_id = activity.job_id
    JOIN
        msdb.dbo.syssessions sess
    ON
        sess.session_id = activity.session_id
    JOIN
    (
        SELECT
            MAX( agent_start_date ) AS max_agent_start_date
        FROM
            msdb.dbo.syssessions
    ) sess_max
    ON
        sess.agent_start_date = sess_max.max_agent_start_date
    WHERE 
        run_requested_date IS NOT NULL AND stop_execution_date IS NULL
    Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal