博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SqlServer中作业无法删除的解决办法
阅读量:5378 次
发布时间:2019-06-15

本文共 1091 字,大约阅读时间需要 3 分钟。

在删除之前添加的作业过程中,由于个系统表之间PK和FK的关联关系,会导致删除失败,所以要先处理这些系统表。

与维护计划有关的表:

1.sysmaintplan_log(记录维护计划运行log);   
2.sysjobschedules(记录代理作业的作业信息);   
3.sysmaintplan_subplans(记录维护计划的子计划信息);   
4.sysjobs_view(相关的作业信息)

以上这4张表有着PK和FK的关联关系,在删除作业时,很容易因为发生FK的冲突而导致失败。

具体的处理方法如下:

use [msdb]declare @job_name varchar(100)set @job_name = N'jobName'--注:jobName为维护计划对应的jobName--删除在计划里面的日志 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_idwhere (syjobs.name = @job_name)--删除代理的作业delete sysjobschedules from sysjobs_view vinner join sysjobschedules o on v.job_id=o.job_id where v.name=@job_name--删除子计划delete sysmaintplan_subplans from 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

特别注意必须首先删除sysmaintplan_log,若表里只有id一致的记录则直接清空sysmaintplan_log,sysmaintplan_subplans表即可。

转载于:https://www.cnblogs.com/EleMMent/p/3625455.html

你可能感兴趣的文章
通过 FTP 从 Windows 向 Linux 拷贝文件之后,文件的权限很可能会变化,要检查
查看>>
MySQL数据库解决乱码 latin1 转 gbk
查看>>
Kafka 配置安装
查看>>
EGORefreshTableHeaderView学习
查看>>
c3p0配置详解(转载)
查看>>
你觉得你在创业,但其实你可能只是在做小生意而已 制定正确的计划 创业和经营小企业之间的差异...
查看>>
使用word2vec训练中文词向量
查看>>
hdoj 1226 超级password 【隐图BFS】
查看>>
cmd 控制台 提示:请求的操作须要提升!
查看>>
IOS自动化打包介绍
查看>>
4中引用(强,软,弱,虚)侧重弱引用
查看>>
Codeforces 702C Cellular Network
查看>>
ELK 集中日志分析 windows部署实战
查看>>
【POJ】2154 Color
查看>>
Angular4笔记——表单状态相关的属性
查看>>
kafka基本使用
查看>>
【T-SQL系列】常用函数—聚合函数
查看>>
Java的技术体系
查看>>
通用菜单JQuery插件设计
查看>>
GT_Trace的使用[z]
查看>>