K09*_*K09 4 sql-server sql-server-agent jobs
我运行了下面的查询,它显示了当前正在运行的作业的列表。然而,在活动监视器中,这些都没有运行。我如何验证这些是否正在运行?
我该如何杀死他们?
select sj.name
,sja.*
from msdb.dbo.sysjobactivity as sja
inner join msdb.dbo.sysjobs as sj on sja.job_id = sj.job_id
where sja.start_execution_date is not null
and sja.stop_execution_date is null
Run Code Online (Sandbox Code Playgroud)
获取当前正在运行的作业及其状态
--- Script By: Amna Asif___________________For: sqlcache.blogspot.com
--- Purpose: Currently running jobs and their Status
SELECT jb.name,
jb.originating_server ServerName,
ja.run_requested_date JobStartTime,
DATEDIFF(MINUTE, ja.run_requested_date, GETDATE()) as TimeElapsed_Minutes,
case when ja.last_executed_step_id is null
then 'Step '+Cast (start_step_id as varchar(20)) +' ['+sstep.step_name+'] executing'
else 'Step ' +Cast ( last_executed_step_id+1 as varchar(20))+' ['+ lstep.step_name
+ '] executing'
end CurrentStepID , sstep.step_name JobStartedfromStep
, Case ja.run_requested_source when 1 then 'SCHEDULER'
when 2 then 'ALERTER'
when 3 then 'BOOT'
when 4 then 'USER'
when 6 then 'ON_IDLE_SCHEDULE' else 'Unknown' end JobRunSource
FROM msdb.dbo.sysjobs_view jb
INNER JOIN msdb.dbo.sysjobactivity ja ON jb.job_id = ja.job_id
INNER JOIN msdb.dbo.syssessions sess ON sess.session_id = ja.session_id
LEFT JOIN MSDB.DBO.sysjobsteps sstep ON sstep.step_id =start_step_id and sstep.job_id=jb.job_id
LEFT JOIN MSDB.DBO.sysjobsteps lstep ON lstep.step_id =last_executed_step_id + 1 and lstep.job_id=jb.job_id
WHERE stop_execution_date IS NULL
AND run_requested_date IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
停止\终止作业命令
USE msdb ;
GO
EXEC dbo.sp_stop_job N'Your Job Name' ;
GO
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36685 次 |
最近记录: |