J'ai besoin de supprimer un utilisateur avec le schéma dbowner d'une base de données SQL Server. Je ne peux pas le laisser tomber car je reçois ce message d'erreur
Échec de la suppression pour le "service réseau" de l'utilisateur. (Microsoft.SqlServer.Smo)
Le principal de la base de données possède un schéma dans la base de données et ne peut pas être supprimé. (Microsoft SQL Server, erreur: 15138)
Lorsque j'essaie de décocher le schéma appartenant à cet utilisateur pour supprimer le propriétaire de la base de données, cela ne fait rien. Ma question est de savoir comment supprimer cet utilisateur ou modifier son nom de "service réseau" en "NT AUTHORITY\NETWORK SERVICE"
Ajoutez d'abord un autre propriétaire.
Le lien d'origine est descendu - toujours disponible ici: https://web.archive.org/web/20160406021232/www.itorian.com/2012/12/the-database-principal-owns-schema-in. html
J'ai eu le même problème, j'ai exécuté deux scripts puis mon problème est résolu.
essaye ça:
Dans cette requête, vous pouvez obtenir le schéma utilisateur comme résultat pour la base de données AdventureWorks
USE AdventureWorks;
SELECT s.name
FROM sys.schemas s
WHERE s.principal_id = USER_ID('your username');
après avoir pris le nom du schéma, vous pouvez modifier l'autorisation sur le schéma comme ceci:
ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
dans cette requête db_owner
nom de schéma obtenu à partir de la première requête.
enfin, vous pouvez supprimer l'utilisateur sans erreur.
ma source: SQL SERVER - Correction: erreur: 15138
Mon problème a également été résolu par la solution ci-dessus:
SELECT s.name
FROM sys.schemas s
WHERE s.principal_id = USER_ID('your username');
ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;