Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Задача на SQL Agent:Определете колко време работи

Това решение ще работи:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Научете как да използвате SQL Server Management Studio

  2. datetimeoffset картографиране на хибернация

  3. Получаване на странна грешка, SQL Server заявка с помощта на клауза `WITH`

  4. Нови промени в колони само за метаданни в SQL Server 2016

  5. Как да изберете максимален ред за всяка група в SQL