DBAtlas · Veritabanı operasyon atlası

3729: Cannot DROP because it is being referenced by object

SQL Server

Ne demek?

Silmek istediğiniz nesne (tablo, tip, fonksiyon vb.), başka bir nesne tarafından referans veriliyor ve bu bağımlılık silmeyi engelliyor. Özellikle şemaya bağlı (schema-bound) nesneler bu koruma altındadır.

Neden olur?

SCHEMABINDING ile oluşturulmuş bir view'ın veya fonksiyonun temel aldığı tabloyu/nesneyi düşürmeye çalışmak; foreign key ile referans verilen bir tabloyu silmeye çalışmak; ya da kullanıcı tanımlı bir tipi, onu kullanan tablo/parametre varken kaldırmak.

Nasıl çözülür?

Önce referans veren nesneleri düşürün veya bağımlılığı kaldırın. Bağımlılıkları bulmak için: SELECT referencing_schema_name, referencing_entity_name FROM sys.dm_sql_referencing_entities('sema.nesne', 'OBJECT'); Şemaya bağlı view'larda önce ALTER VIEW ile SCHEMABINDING'i kaldırın ya da view'ı düşürün, sonra tabloyu silin.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar