SQL Server 2005 数据库服务器 不知道什么原因 无法删除已经建立的维护计划,下面给出网上总结的方法。
解决方案:
一、在网上查询得到,计划任务与MSDB数据库里面的sysmaintplan_plans、sysmaintplan_log、sysmaintplan_subplans这三个表有关系,我们可以根据任务计划名称查询得到这三个表里面的数据。
use msdb
select * from sysmaintplan_plans
select * from sysmaintplan_log
select * from sysmaintplan_subplans
二、可以根据上图的字段名得出三个表之间的规律,即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
三、执行以上脚本,效果如下
四、执行完脚本之后,在作业里面还是可以看到作业名称。但是此时可以删除掉这个维护计划了。
五、完成删除之后,如果还是有名称,点刷新一下即可。
二〇一五年一月二十日 12:07:33