Cómo eliminar el error 547 de SQL Server al eliminar un Plan de Mantenimiento

  Categorías




Cómo eliminar el error 547 de SQL Server al eliminar un Plan de Mantenimiento

189 Visualizaciones

Lectura: 3 minutos

Israel Tena Marti   Israel Tena Marti - Publicado el 03/02/2025

Si te interesa esta información, descargatela GRATIS

Descargar PDF Gratis

Como Administrador de Sistemas, cuando realizo actualizaciones y cambios de versión en servidores SQL Server, es habitual tener que cambiar el nombre del servidor antes de pasar a producción. Parece un paso sencillo, pero suelen surgir algunos problemas inesperados. Uno de ellos es que los Planes de Mantenimiento de SQL Server, creados antes del cambio de nombre. Siguen ahí, pero ahora están asociados al nombre antiguo del servidor.

El problema viene cuando intento eliminarlos manualmente. En lugar de simplemente desaparecer, SQL Server devuelve el error 547, lo que indica que hay restricciones de integridad referencial que impiden su eliminación. Esto puede volverse frustrante, especialmente si necesito limpiar estos planes antes de continuar con la configuración del nuevo entorno.

Afortunadamente, hay una solución mediante comandos SQL que permite eliminar estos planes de mantenimiento de forma segura y sin complicaciones. 

Concretamente, el error que muestra SQL Server al tratar de eliminar el Plan desde Management -> Maintenance Plans es:

  Exception has been thrown by the target of an invocation. (mscorlib)
Additional information:
A network-related or instance-specific error occurred while establishing a connecton to SQL Server.
The server was not found or was not accessible. Verify that the instance name is correct and
that SQL Server
is configured to allow remote connectons.
(provider: Named Pipes Provider, error: 40 - Could not open a connectjon to SQL Server)
(Microsoft SQL Server, Error: 53). he network path was not found

como-eliminar-el-error-547-de-sql-server-al-eliminar-un-plan-de-mantenimiento-01.webp

Y si tratas de eliminar el Job desde SQL Server Agent -> Jobs:

 Exception has been frrown by the target of an invocation, (mscorlib)
Additional information:
A network-related or instance-specific error occurred while establishing a connecton to SQL Server.
The server was not found or was not accessible. Verify that the instance name is
correct and that SQL Server 
is configured to allow remote connectons.
(provider: Named Pipes Provider, error: 40 - Could not open a connectjon to SQL Server)
(Microsoft SQL Server, Error: 53). 
The network path was not found

como-eliminar-el-error-547-de-sql-server-al-eliminar-un-plan-de-mantenimiento-02.webp

Es importante saber donde almacena SQL Server toda la información de los Planes de Mantenimiento, la cual se encuentra distribuida en tres tablas, que están alojadas en la base de datos de sistema msdb:

  • msdb.dbo.sysmaintplan_plans: Almacena la definición del Plan de Mantenimiento.
  • msdb.dbo.sysmaintplan_subplans: Almacena los Subplanes que tiene el Plan de Mantenimiento.
  • msdb.dbo.sysmaintplan_log: Almacena las diferentes ejecuciones y log de actividad.

Pasos para eliminar el error 547 de SQL Server

PASO1

Buscamos el id del plan que queremos eliminar con la consulta sobre la tabla msdb.dbo.sysmaintplan_plans, por medio de la consulta: 

SELECT name, id FROM msdb.dbo.sysmaintplan_plans

como-eliminar-el-error-547-de-sql-server-al-eliminar-un-plan-de-mantenimiento-03.webp

PASO2

Buscamos los diferentes códigos de subplanes que puede tener la tarea con el campo subplan_id por medio de la consulta sobre la tabla msdb.dbo.sysmaintplan_subplans, por medio de la consulta: 

SELECT subplan_id, subplan_name, plan_id FROM msdb.dbo.sysmaintplan_subplans WHERE plan_id="BC200775-FBE3-43E4-9FBF-9937E2589184"

como-eliminar-el-error-547-de-sql-server-al-eliminar-un-plan-de-mantenimiento-04.webp

PASO3

Eliminamos los registros de la tabla msdb.dbo.sysmaintplan_log para cada subplan_id:

DELETE FROM msdb.dbo.sysmaintplan_log WHERE subplan_id = "CBB183D4-B450-4DDE-8484-314FEEB63C35"

PASO4

Eliminamos los registros de la tabla msdb.dbo.sysmaintplan_subplans para cada subplan_id:

DELETE FROM msdb.dbo.sysmaintplan_subplans WHERE subplan_id = "CBB183D4-B450-4DDE-8484-314FEEB63C35"

PASO5

Eliminamos el registro de la tabla msdb.dbo.sysmaintplan_plans por medio del id:

DELETE FROM msdb.dbo.sysmaintplan_plans WHERE id = "C37A12BB-4D2E-4A82-B72D-1C3464CF538D"

PASO6

Y ahora, también podemos borrar las tareas desde SQL Server Agent -> Jobs

🔔 Si te interesan otros artículos como 'Cómo eliminar el error 547 de SQL Server al eliminar un Plan de Mantenimiento' puedes visitar la categoría SysAdmin.
Israel Tena Marti     Israel Tena Marti

Informático, Administrador de Sistemas y Frontend & Backend Developer. Amplia experiencia como programador y administrando todo tipo de sistemas industriales.

Descargate el artículo de forma GRATUITA


Introduce tu contacto para poder realizar la descarga por favor.

  Descargar PDF Gratis

Productos Destacados de nuestra Tienda

Consulta todos nuestros productos, gadgets y accesorios informáticos en la Tienda Online.


Y tú, ¿ Qué opinas ?


0 Comentarios