sql >> データベース >  >> RDS >> Sqlserver

SQL エージェント ジョブ:実行されている時間を確認する

    この解決策はうまくいきます:

    SELECT DATEDIFF(SECOND,aj.start_execution_date,GetDate()) AS Seconds
    FROM msdb..sysjobactivity aj
    JOIN msdb..sysjobs sj on sj.job_id = aj.job_id
    WHERE aj.stop_execution_date IS NULL -- job hasn't stopped running
    AND aj.start_execution_date IS NOT NULL -- job is currently running
    AND sj.name = 'JobX'
    and not exists( -- make sure this is the most recent run
        select 1
        from msdb..sysjobactivity new
        where new.job_id = aj.job_id
        and new.start_execution_date > aj.start_execution_date
    )
      

    これは、システム テーブルに依存するより一般的なチェックです。カスタム ルートを希望する場合は、代わりに作成したジョブ ログ テーブルにジョブを挿入できます。



    1. MySQL/MariaDBのストアドプロシージャへのNULLパラメータを禁止します

    2. 変数を使用せずにplpgsql関数に整数を返すようにできますか?

    3. SQL ServerFORXMLパ​​スは繰り返しノードを作成します

    4. PostgreSQLを使用したSQLAlchemyテストでのデータベースの作成