我正在使用
SQL Server 2014
,并且我有一份工作(称为 ITB),该工作已安排在每天凌晨 4 点运行。 SQL
作业有 11 个步骤。
今天早上 9 点,我注意到该作业在作业历史记录中显示“正在进行”。好像卡在第 8 步(共 11 步)。
我尝试通过右键单击
SSMS
中的作业名称来停止作业,但收到以下消息:
"Stop failed for Job 'ITB' (Microsoft.SqlServer.Smo)
我还尝试在 SSMS 中运行以下 T-SQL 命令来停止作业:
USE msdb ;
GO
EXEC dbo.sp_stop_job
N'ITB' ;
GO
我收到以下消息是 SSMS:
Msg 22022, Level 16, State 1, Line 2
SQLServerAgent Error: Request to stop job ITB (from User sa) refused because the job is not currently running.
这里发生了什么?我该如何处理?
在对象资源管理器中,连接到数据库引擎实例,右键单击“SQL Server 代理”,然后单击“启动”、“停止”或“重新启动”。
如果出现“用户帐户控制”对话框,请单击“是”。
当系统提示您是否要执行该操作时,请单击“是”。
您需要添加检查以查看作业是否正在运行。仅当命令正在运行时才运行它
如果存在(
SELECT * 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 AND
sj.name = N'RamTest'
)
BEGIN
EXEC msdb..sp_stop_job @job_name = N'RamTest;
END