最近在玩这个东西,想删除的时候,那些作业都报错。
信息为:
DELETE 语句与REFERENCE约束"FK_syscollector_sets_collection_sysjobs"冲突。
该冲突发生于数据库"msdb"。。。。。。。。。。。。。。。。
我记得是哪位大牛说过这个确实是删除不掉要用一个微软未发布的一个存储过程来删除
------解决方案--------------------
- SQL code
与维护计划有关的有三张表:1.sysmaintplan_log:在维护计划运行后,会在此表中进行记录;2.sysjobschedules:代理作业的作业信息3.sysmaintplan_subplans:记录维护计划的子计划信息4.sysjobs_view:相关的作业信息这4张表有着PK和FK的关联关系,在删除作业时,就容易因为发生FK的冲突而导致失败。具体的处理方法如下:USE [msdb]declare @job_name varchar(100)set @job_name = N'HostpitalTestPlan.Subplan_Reset'--删除在计划里面的日志DELETE sysmaintplan_logFROM sysmaintplan_subplans AS subplans INNER JOINsysjobs_view AS syjobs ON subplans.job_id = syjobs.job_id INNER JOINsysmaintplan_log ON subplans.subplan_id = sysmaintplan_log.subplan_idWHERE (syjobs.name = @job_name)--删除代理的作业DELETE sysjobschedulesFROM sysjobs_view v INNER JOIN sysjobschedules o ON v.job_id=o.job_id WHERE [email protected]_name--删除子计划DELETE sysmaintplan_subplansFROM sysmaintplan_subplans AS subplans INNER JOINsysjobs_view AS syjobs ON subplans.job_id = syjobs.job_idWHERE (syjobs.name = @job_name)--删除作业DELETE FROM msdb.dbo.sysjobs_view WHERE NAME = @job_name
------解决方案--------------------
这个删除不掉,大概要在SQL2012解决。
http://www.cnblogs.com/nzperfect/archive/2010/12/22/1913996.html
------解决方案--------------------
- SQL code
DELETE 语句与REFERENCE约束"FK_syscollector_sets_collection_sysjobs"冲突。该冲突发生于数据库"msdb"。。。。。。。。。。。。。。。。问题不都给你了嘛... 有外间约束嘛.. 在指定的表里..找到这个约束的行...把 主表的 约束行先删除..然后删除子表的约束行..你的这个作业就删除了!
------解决方案--------------------
同意3楼的看法,不晓得2楼的答案是咋个来的- -好飘渺