关于SQL Server 2005 无法删除维护计划问题解决方案

SQL Server 2005 数据库服务器 不知道什么原因 无法删除已经建立的维护计划,下面给出网上总结的方法。

image

解决方案:

一、在网上查询得到,计划任务与MSDB数据库里面的sysmaintplan_plans、sysmaintplan_log、sysmaintplan_subplans这三个表有关系,我们可以根据任务计划名称查询得到这三个表里面的数据。

use msdb
select * from sysmaintplan_plans
select * from sysmaintplan_log
select * from sysmaintplan_subplans 

QQ截图20150120114734

二、可以根据上图的字段名得出三个表之间的规律,即sysmaintplans表里的id与其他两个表里面的plan_id是一样的,由此得出三个表之间的关联。我写了以下的几个命令,来完成操作。

use msdb
declare @job_name varchar(100)
declare @plan_id varchar(200)
set @job_name = N'MaintenancePlan'
/*将''里面的内容更换为作业里面的名字*/
select @plan_id= id from sysmaintplan_plans where name=@job_name
delete from sysmaintplan_log where plan_id = @plan_id
delete from sysmaintplan_subplans where plan_id = @plan_id
delete from sysmaintplan_plans where id = @plan_id

三、执行以上脚本,效果如下

QQ截图20150120114905

四、执行完脚本之后,在作业里面还是可以看到作业名称。但是此时可以删除掉这个维护计划了。

QQ截图20150120114846

QQ截图20150120114854

五、完成删除之后,如果还是有名称,点刷新一下即可。

QQ截图20150120114905

 

 

 

二〇一五年一月二十日 12:07:33

点赞