sql >> Databáze >  >> RDS >> Sqlserver

Úloha agenta SQL:Určete, jak dlouho již běží

Toto řešení by fungovalo:

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
)

Toto je obecnější kontrola závislá na systémových tabulkách. Pokud dáváte přednost vlastní trase, můžete místo toho nechat úlohu vložit do tabulky protokolu úloh, kterou jste vytvořili.



  1. Převeďte výsledky SQL do pole PHP

  2. Vytvořte novou tabulku z modulu Magento

  3. Jak porovnat, zda dva řetězce obsahují stejná slova v T-SQL pro SQL Server 2008?

  4. Jak chránit aplikaci JDBC proti vkládání SQL