DBAtlas · 数据库运维图谱

3729: Cannot DROP because it is being referenced by object(无法 DROP,因为它正被对象引用)

SQL Server

含义

要删除的对象(表、类型、函数等)被另一个对象引用,该依赖关系阻止了删除。尤其是架构绑定的对象会以这种方式受到保护。

原因

试图删除以 WITH SCHEMABINDING 创建的视图或函数所依赖的表/对象;删除被外键引用的表;或在表/参数仍在使用时删除用户定义类型。

解决方法

先删除引用对象或解除依赖关系。查找依赖关系:SELECT referencing_schema_name, referencing_entity_name FROM sys.dm_sql_referencing_entities('app_schema.object', 'OBJECT'); 对于架构绑定的视图,先用 ALTER VIEW 去掉 SCHEMABINDING 或删除视图,然后再删除表。

在 DBAtlas 中打开 →

同一数据库的其他条目