ホームページ >データベース >mysql チュートリアル >SQL Server でスケジュールされたジョブのステータスを追跡するにはどうすればよいですか?

SQL Server でスケジュールされたジョブのステータスを追跡するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-27 20:02:12929ブラウズ

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

SQL Server でスケジュールされたジョブのステータスを監視する方法

ジョブをスケジュールするストアド プロシージャを実行するときは、進行状況を監視することが重要ですこれらのジョブのタイムリーな完了と成功を保証するために。この記事では、SQL Server でスケジュールされたジョブのステータスを確認する手順について説明します。

  1. まだ開始されていないスケジュールされたジョブのリスト

    • 次のクエリを使用して、まだ実行されていないスケジュールされたジョブのリストを取得します。 start:
    SELECT name, schedule_next_run
    FROM sysjobs_view
    WHERE next_run_date > GETDATE()
  2. 実行中のジョブのリスト

    • 現在実行中のジョブを確認するには、実行:
    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
  3. ジョブ完了ステータス

    • 次のクエリを使用して、完了したジョブを識別できます。正常に終了したか、次の理由で停止しましたエラー:
    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

以上がSQL Server でスケジュールされたジョブのステータスを追跡するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。