1
我不确定发生了什么事?尽管工作在晚上11点50分停止运行,但我仍然收到一封电子邮件,显然这比晚上7点开始的7小时还要短。如果工作时间超过7小时,我想给我发电子邮件,由于某种原因,昨天它在测试中工作,但今天它不是。任何想法?长时间工作
SELECT *
FROM msdb..sysjobactivity aj
JOIN msdb..sysjobs sj on sj.job_id = aj.job_id
WHERE DATEDIFF(HOUR,aj.start_execution_date,GetDate())> 7
AND aj.start_execution_date IS NOT NULL
AND sj.name = 'Nightly_Job'
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)
if @@ROWCOUNT > 0
BEGIN
USE msdb
EXEC sp_send_dbmail
@profile_name = 'DB_Mail',
@recipients = '[email protected]',
@subject = 'T-SQL Query Result',
@body = 'The Nightly_Job has been running 7
谢谢你这么多!这完全奏效! – 2012-08-01 18:40:24
非常感谢你!这完全奏效了!你如何使用IS NULL THOUGH?自从工作停止以后,不应该存在非空值吗? – 2012-08-01 18:49:42
我明白!我需要排除或将工作归为空,因为他们还没有完成... – 2012-08-01 18:51:25