DBAtlas · Veritabanı operasyon atlası

15138: The database principal owns a schema in the database, and cannot be dropped

SQL Server

Ne demek?

Bir veritabanı kullanıcısı/rolü (database principal) silinmeye çalışıldı ancak bu principal, veritabanında bir veya daha fazla şemanın sahibi olduğu için silinemedi. Sahip olduğu şemalar başka bir principal'e devredilmeden silme mümkün değildir.

Neden olur?

Kaldırılmak istenen kullanıcı, en az bir şemanın (ör. varsayılan olarak kendi adıyla oluşturulmuş bir şema ya da AUTHORIZATION ile atanmış bir şema) OWNER'ı. SQL Server, orphan şema bırakmamak için bu silmeyi engeller.

Nasıl çözülür?

Kullanıcının sahip olduğu şemaları bulun: SELECT name FROM sys.schemas WHERE principal_id = USER_ID('kullanici'); Bu şemaların sahipliğini başka bir principal'e (ör. dbo) devredin: ALTER AUTHORIZATION ON SCHEMA::[sema] TO dbo; Şema artık gerekmiyorsa (ve boşsa) DROP SCHEMA yapın. Sahiplik devredildikten sonra DROP USER komutunu tekrar çalıştırın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar