SQLSERVER 2014 刪除數據庫定時備份任務提示失敗DELETE 語句與 REFERENCE 約束“FK_subplan_job_id“沖突 ,錯誤如圖:
問題原因:不能直接刪除作業 任務,需要先刪除計劃里面的日志、刪除代理作業、刪除子計劃以后才能刪除作業。
解決方案如下:
--注:jobsname為維護計劃對應的job nameset @jobsname = N'完整備份.Subplan_1'--刪除在計劃里面的日志
delete sysmaintplan_log from sysmaintplan_subplans as subplansinner join sysjobs_view as syjobs on subplans.job_id = syjobs.job_idinner join sysmaintplan_log on subplans.subplan_id =sysmaintplan_log.subplan_id
where syjobs.name = @jobsname--刪除代理的作業
delete sysjobschedules from sysjobs_view v
inner join sysjobschedules o on v.job_id=o.job_id where v.name=@jobsname--刪除子計劃
delete sysmaintplan_subplans from sysmaintplan_subplans as subplans
inner join sysjobs_view as syjobs on subplans.job_id = syjobs.job_id
where (syjobs.name = @jobsname)--刪除作業
delete from msdb.dbo.sysjobs_view where name =@jobsname