DBAtlas · Atlas d'exploitation des bases de données

15138: The database principal owns a schema in the database, and cannot be dropped (le principal de base de données possède un schéma et ne peut pas être supprimé)

SQL Server

Que signifie cette erreur ?

Une tentative de suppression d'un utilisateur/rôle de base de données (database principal) a échoué car le principal possède un ou plusieurs schémas dans la base. Il ne peut pas être supprimé tant que les schémas qu'il possède ne sont pas transférés à un autre principal.

Cause

L'utilisateur à supprimer est OWNER d'au moins un schéma (par ex. un schéma créé par défaut à son nom, ou attribué via AUTHORIZATION). SQL Server bloque la suppression pour ne pas laisser de schémas orphelins.

Comment la corriger

Trouvez les schémas possédés par l'utilisateur : SELECT name FROM sys.schemas WHERE principal_id = USER_ID('app_user'); Transférez la propriété de ces schémas à un autre principal (par ex. dbo) : ALTER AUTHORIZATION ON SCHEMA::[app_schema] TO dbo; Si le schéma n'est plus nécessaire (et qu'il est vide), DROP SCHEMA. Une fois la propriété transférée, exécutez de nouveau DROP USER.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur