原文链接:https://blog.csdn.net/qq_17858059/article/details/106196863
SQL server 因为需要定时备份数据库,一般情况下大家都会选择在管理的维护计划中创建维护计划,因各种原因创建的维护计划不合适或者不用需要删除时,有时候会提示无法删除,各种提示报错。
以下是无法手动删除时,通过sql语句删除的步骤。
--【1】删除【管理】中的维护计划use msdbgoselect * from sysmaintplan_plansDelete sysmaintplan_plans where Name='维护计划'
--【2】删除【SQLserver代理】中的作业
USE [msdb]Declare @job_name varchar(100)--SET @job_name = N'jobName'SET @job_name=N'数据库备份.Subplan_1'--注:jobName为维护计划对应的jobName --删除在计划里面的日志DELETE sysmaintplan_logFROM 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_idWHERE (syjobs.name = @job_name) --删除代理的作业DELETE sysjobschedulesFROM sysjobs_view vINNER JOIN sysjobschedules o on v.job_id=o.job_idWHERE v.name=@job_name --删除子计划DELETE sysmaintplan_subplansFROM sysmaintplan_subplans as subplansINNER JOIN sysjobs_view as syjobs ON subplans.job_id = syjobs.job_idWHERE (syjobs.name = @job_name)--删除作业DELETE FROM msdb.dbo.sysjobs_view WHERE name = @job_name