SQL Server不能删除job的解决办法

use [msdb]

declare @job_name varchar(100)

set @job_name = N'MaintenancePlan.Subplan_4'

--注:job_name为维护计划对应的job name

--删除在计划里面的日志

delete sysmaintplan_log from sysmaintplan_subplans as subplans

inner join sysjobs_view as syjobs on subplans.job_id = syjobs.job_id

inner join sysmaintplan_log on subplans.subplan_id =sysmaintplan_log.subplan_id

where (syjobs.name = @job_name)

--删除代理的作业

delete sysjobschedules from sysjobs_view v

inner join sysjobschedules o on v.job_id=o.job_id where v.name=@job_name

--删除子计划

delete sysmaintplan_subplans from sysmaintplan_subplans as subplans

inner join sysjobs_view as syjobs on subplans.job_id = syjobs.job_id

where (syjobs.name = @job_name)

--删除作业

delete from msdb.dbo.sysjobs_view where name = @job_name

--查询有哪些作业

select * from msdb.dbo.sysjobs_view

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值