我正在使用SQL Server 2014,并且我有一项计划(每天称为JN5)的工作计划在每天的特定时间运行。该作业运行一个SSIS程序包,其中包含11个步骤。查看SSMS中的“作业历史记录”,该作业似乎停留在第9步。它不是显示为失败,而是“进行中”。
我很难阻止它。我尝试了以下方法:
USE msdb ;
GO
EXEC dbo.sp_stop_job N'JN5' ;
GO
执行后出现以下错误:
信息22022,第16级,状态1,第2行
SQLServerAgent错误:由于作业当前未在运行,来自用户sa的停止作业JN5的请求被拒绝。
然后,我尝试了以下操作:我通过SQL Server配置管理器重新启动了SQL Server代理。当我在SSMS中查看SQL作业状态(刷新后)时,它仍显示“进行中”!
我接下来要解决的问题是重新启动SQL Server2014。然后我再次在SSMS中检查状态。它仍然显示“进行中”状态!
我刚刚在StackOverflow上查看了以下内容:SQL Server job activity (job failed but history records in job activity still showing 'running' status)
但是,我不确定上面的链接是否与我的问题有关。
关于我接下来可以尝试的任何想法吗?
答案 0 :(得分:0)
我最近遇到了类似的问题。我有一个正在运行的作业,该作业是通过SQL Server代理作业安排的,并从SSISDB目录执行。 (即计划的SSIS作业)。
在工作期间,其中一个步骤将处理SSIS任务,该任务使用了连接管理器到文件(SQL脚本)。在运行时,有人向服务器应用了一些补丁,然后重新启动了SQL服务堆栈。
这导致作业看起来像正在处理(通过作业历史记录)并且似乎正在运行(通过Integration Services仪表板)...但是不再有任何IO(脚本中的所有SQL都没有完成)执行)...所以我知道杀死这份工作相对安全。
我遇到了同样的错误:
消息22022,级别16,状态1,第9行SQLServerAgent错误:由于作业当前未运行,请求停止作业XXXXX(来自用户YYYYY)被拒绝。
因此,我从Integration Services仪表板引用了该操作的ID,并发出了以下命令:
USE SSISDB
GO
EXEC [catalog].[stop_operation] <OperationId>
这从Integration Services仪表板中删除了正在运行的作业。
答案 1 :(得分:-1)
遇到此问题时,只能通过删除作业来解决。 之前,我创建了脚本来重新创建作业。所以我只丢了工作经历。