DBAtlas · Atlas de operaciones de bases de datos

3729: Cannot DROP because it is being referenced by object (no se puede eliminar porque otro objeto lo referencia)

SQL Server

¿Qué significa?

El objeto que quiere eliminar (tabla, tipo, función, etc.) está referenciado por otro objeto, y esa dependencia impide eliminarlo. Los objetos con schema binding, en particular, están protegidos de esta forma.

¿Por qué ocurre?

Intentar eliminar una tabla/objeto del que depende una vista o función creada WITH SCHEMABINDING; eliminar una tabla referenciada por una foreign key; o quitar un tipo definido por el usuario mientras una tabla/parámetro todavía lo usa.

Cómo solucionarlo

Elimine primero los objetos que lo referencian o quite la dependencia. Para encontrar dependencias: SELECT referencing_schema_name, referencing_entity_name FROM sys.dm_sql_referencing_entities('app_schema.object', 'OBJECT'); En vistas con schema binding, quite primero SCHEMABINDING con ALTER VIEW o elimine la vista, y después elimine la tabla.

Abrir en DBAtlas →

Más entradas de este motor