Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Công việc tác nhân SQL:Xác định xem nó đã chạy trong bao lâu

Giải pháp này sẽ hoạt động:

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
)

Đây là một kiểm tra tổng quát hơn phụ thuộc vào các bảng hệ thống. Nếu bạn muốn một lộ trình tùy chỉnh, bạn có thể chèn công việc vào bảng nhật ký công việc mà bạn đã tạo.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phương pháp chính xác để xóa hơn 2100 hàng (theo ID) với Dapper

  2. Tăng nhận dạng cột SQL Server 2012 nhảy từ 6 lên 1000+ ở mục nhập thứ 7

  3. Phiên bản cơ sở dữ liệu SQL Server

  4. Truy vấn sql với tham gia và nhóm theo và

  5. Cách chọn một bản ghi trong phép nối bên trái