SQL Server 2008 deletes a job when it encounters an inability to delete
Workaround:
Use [msdb]DECLARE @job_name VARCHAR( -)SET @job_name =N'JobName'--Note: JobName for the maintenance plan corresponding to the JobName--Delete the log inside the planDELETESysmaintplan_log fromSysmaintplan_subplans asSubplansINNER JOINSysjobs_view asSyjobs onsubplans.job_id=syjobs.job_idINNER JOINSysmaintplan_log onsubplans.subplan_id=sysmaintplan_log.subplan_idWHERE(Syjobs.name= @job_name)--Delete Job for agentDELETESysjobschedules fromSysjobs_view vINNER JOINSysjobschedules o onv.job_id=o.job_idWHEREV.name=@job_name--Delete a sub-planDELETESysmaintplan_subplans fromSysmaintplan_subplans asSubplansINNER JOINSysjobs_view asSyjobs onsubplans.job_id=syjobs.job_idWHERE(Syjobs.name= @job_name)--Delete JobDELETE fromMsdb.dbo.sysjobs_viewWHEREName= @job_name
Troubleshooting SQL Server 2008 Cannot delete jobs