The DELETE statement conflicted with the REFERENCE constraint "FK_subplan_job_id" SQL SERVER



Buenos días queridos lectores, el día de hoy veremos como eliminar un job que ha sido creado desde un plan de mantenimiento y el cual no es posible eliminar por un error en la llave foránea, pero bien, entremos en materia


Eliminar job creado desde un plan de mantenimiento

Cuando se crea un plan de mantenimiento, se crea también un job y en ocasiones no podemos eliminar el plan de mantenimiento por una llave foránea obteniendo el siguiente error:


Lo que tenemos que hacer es eliminar esta relación existente y para ello nos vamos a apoyar de los siguientes querys:

USE [MSDB]

GO

 

-- Ver los sub planes del plan de mantenimiento

select * from sysmaintplan_subplans

 

-- Ver el log del plan de mantenimiento

select * from sysmaintplan_log


Podemos observar la relación existente en las dos tablas


Ahora procedemos a eliminar esa relación y posteriormente a eliminar el job

USE [MSDB]

go

 

--Borramos la historia del log del plan de mantenimiento afectado

DELETE FROM sysmaintplan_log

WHERE subplan_id in

  ( SELECT Subplan_ID from sysmaintplan_subplans

    --

  WHERE subplan_name = 'Subplan_1' )

 

-- Eliminamos el subplan

DELETE FROM sysmaintplan_subplans

WHERE subplan_name = 'Subplan_1'


Con esto, ya podremos eliminar el job del plan de mantenimiento, así como también el plan de mantenimiento.

Referencias



Espero este post haya sido de utilidad, los invito a dar clic en algún anuncio patrocinado.

Saludos

No hay comentarios.:

Publicar un comentario

Featured Post

Como saber la versión de SQL que tengo

 Buenas tardes queridos lectores, el día de hoy les traigo un post muy básico, pero útil en determinadas circunstancias, cuando queremos sab...