3729: Cannot DROP because it is being referenced by object
SQL ServerNe 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.
Aynı motorda diğer kayıtlar
- 50000Custom error raised with RAISERROR
- 3902The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION
- 1101Could not allocate a new page because of insufficient disk space in filegroup
- 3961Snapshot isolation transaction failed because the object was modified by a DDL statement
- 1785Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths
- 9421XML parsing: illegal xml character
- 15151Cannot find the object/principal because it does not exist or you do not have permission