mssql 2008 代理作业任务挂起,日志显示找不到指定的模块

 

09/21/2016 17:11:15,,错误,[LOG] Step 1 of job ‘MaintenancePlan.Subplan_1’ (0xDB75FC65C3A7464888C1BD31689416C7) cannot be run because the SSIS subsystem failed to load.  The job has been suspended
09/21/2016 17:10:39,,警告,[396] 尚未定义空闲 CPU 条件 – OnIdle 作业计划将不起任何作用
09/21/2016 17:10:39,,警告,[260] 无法启动邮件会话(原因: 没有定义邮件配置文件)
09/21/2016 17:10:39,,信息,[129] SQLAgent$SQL20141216 在 Windows NT 服务控制下启动
09/21/2016 17:10:39,,错误,[364] 尚未启动 Messenger 服务 – 将不发送 NetSend 通知
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“PowerShell”(原因: 找不到指定的模块。)
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“SSIS”(原因: 找不到指定的模块。)
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“ANALYSISCOMMAND”(原因: 找不到指定的模块。)
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“ANALYSISQUERY”(原因: 找不到指定的模块。)
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“QueueReader”(原因: 找不到指定的模块。)
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“Merge”(原因: 找不到指定的模块。)
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“Distribution”(原因: 找不到指定的模块。)
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“LogReader”(原因: 找不到指定的模块。)
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“Snapshot”(原因: 找不到指定的模块。)
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“CmdExec”(原因: 找不到指定的模块。)
09/21/2016 17:10:39,,错误,[125] 无法加载子系统“ActiveScripting”(原因: 找不到指定的模块。)

解决办法:

1、计划不存引起的。

use [msdb]
declare @job_name varchar(100)
set @job_name = N’cr_bak.Subplan_1′
–注:jobName为维护计划对应的jobName
–删除在计划里面的日志
delete sysmaintplan_log from sysmaintplan_subplans as subplans
inner join sysjobs_view as syjobs on subplans.job_id = syjobs.job_id
inner join sysmaintplan_log on subplans.subplan_id =sysmaintplan_log.subplan_id
where (syjobs.name = @job_name)
–删除代理的作业
delete sysjobschedules from sysjobs_view v
inner join sysjobschedules o on v.job_id=o.job_id where v.name=@job_name
–删除子计划
delete sysmaintplan_subplans from sysmaintplan_subplans as subplans
inner join sysjobs_view as syjobs on subplans.job_id = syjobs.job_id
where (syjobs.name = @job_name)
–删除作业
delete from msdb.dbo.sysjobs_view where name = @job_name

2、msdb路径不对引起的

— Delete the existing rows.
  DELETE FROM msdb.dbo.syssubsystems
  — Fill the table with new rows pointing to the proper location of the DLLs.
  EXEC msdb.dbo.sp_verify_subsystems 1

发表评论

电子邮件地址不会被公开。 必填项已用*标注