如何杀死不断显示"In Progress"状态的SQL Server作业?



我正在使用SQL Server 2014,我有一份工作(我们称其为JN5(,该工作每天都在特定时间进行运行。该作业运行一个SSIS软件包,其中有11个步骤。查看SSM中的工作历史记录,这项工作似乎被困在步骤9中。它不是显示为失败,而是"正在进行中"。

我很难停止它。我尝试了以下内容:

USE msdb ; 
GO      
EXEC dbo.sp_stop_job N'JN5' ;  
GO

执行后会出现以下错误:

msg 22022,第16级,状态1,第2行
sqlserveragent错误:请求停止作业JN5(来自用户SA(,因为该作业当前未运行。

然后,我尝试了以下操作:我通过SQL Server Configuration Manager重新启动了SQL Server代理。当我在SSM中查看SQL作业状态(刷新后(时,它仍显示"正在进行中"!

我下一个解决问题的尝试是重新启动SQL Server2014。然后,我在SSMS中再次检查了状态。它仍在显示"正在进行的"状态!

我刚刚在Stackoverflow上查看以下内容:SQL Server Job Activity(作业失败,但工作活动中的历史记录仍显示"运行"状态(

但是,我不确定以上链接是否与我的问题有关。

关于我接下来可以尝试的任何想法?

我最近遇到了一个类似的问题。我通过SSISDB目录执行的SQL Server代理作业安排了一项工作,该作业是通过SQL Server代理作业安排的。(即计划的SSIS作业(。

在作业期间,其中一个步骤处理了SSIS任务,该任务将连接管理器用于文件(SQL脚本(。在运行时,有人将一些补丁程序应用于服务器并重新启动SQL Services堆栈。

这使工作看起来像正在处理(通过工作历史记录(,并且似乎正在运行(通过Integration Services仪表板(...但是不再有任何IO(脚本中的SQL都没有完成执行(...所以我知道杀死工作相对安全。

我有相同的错误:

msg 22022,级别16,状态1,第9行SQLServeragent错误:请求停止作业XXXXX(来自用户Yyyyy(,因为该作业当前未运行。

因此,我从Integration Services仪表板中引用了操作的ID,并发出以下命令:

USE SSISDB
GO
EXEC [catalog].[stop_operation] <OperationId>

这从集成服务仪表板中删除了运行作业。

当我遇到这个问题时,我只能通过删除作业来解决它。之前,我创建了脚本来重新创建工作。所以我只失去了工作历史。

最新更新