15138: The database principal owns a schema in the database, and cannot be dropped
SQL ServerNe 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.
Aynı motorda diğer kayıtlar
- 8651Could not perform the operation because the requested memory grant was not available
- 5061ALTER DATABASE failed because a lock could not be placed on database
- 3702Cannot drop database because it is currently in use
- 1934INSERT/UPDATE failed because the following SET options have incorrect settings
- 468Cannot resolve the collation conflict
- 4864Bulk load data conversion error (type mismatch or invalid character)
- 916The server principal is not able to access the database under the current security context