63 votes

Impossible d'utiliser le principal dbo spécial : Erreur 15405

Je suis en train d'essayer de donner toutes les autorisations à un utilisateur dans la section User Mapping d'une base de données. Cependant, je rencontre cette erreur :

"Impossible d'utiliser le principal spécial dbo" texte alternatif

Rôles serveur de l'utilisateur :

texte alternatif

1 votes

Pas une réponse réelle à la question posée, mais puisque vous accordez db_owner à Sarin, pourquoi essayez-vous même d'assigner d'autres rôles?

0 votes

Cela est dû au fait que j'essaie d'installer un CMs sur mon site web et lors du processus d'installation, il indique qu'il n'y a aucun utilisateur ou rôle 'sarin'. Voir ici: i.imgur.com/Intaa.jpg

1 votes

L'utilisateur 'sarin' est déjà db_owner de la base de données, il n'est donc pas nécessaire de lui accorder d'autres autorisations. Si vous continuez à rencontrer cette erreur, cela signifie que vous ne vous connectez pas à la base de données à laquelle vous pensez, mais comme vous n'avez montré aucun capture d'écran du moment réel où vous fournissez le serveur/db/nom d'utilisateur, ou une chaîne de connexion, cela devient un peu difficile à diagnostiquer davantage.

79voto

Damien_The_Unbeliever Points 102139

Ceci se produit parce que l'utilisateur 'sarin' est le propriétaire réel de la base de données "dbemployee" - en tant que tel, ils ne peuvent que avoir db_owner, et ne peuvent se voir attribuer aucun autre rôle de base de données.

Et ils n'ont pas besoin de l'être. S'ils sont le propriétaire de la base de données, ils ont déjà la permission de faire tout ce qu'ils veulent au sein de cette base de données.

(Pour voir le propriétaire de la base de données, ouvrez les propriétés de la base de données. Le Propriétaire est répertorié dans l'onglet général).

Pour changer le propriétaire de la base de données, vous pouvez utiliser sp_changedbowner ou ALTER AUTHORIZATION (ce dernier étant apparemment la manière préférée pour le développement futur, mais puisque ce genre de chose tend à être ponctuel...)

0 votes

Il peut être utile de noter que cela peut aider à résoudre les erreurs ou les erreurs de configuration. Après l'installation du SP2 pour SQL Server 2012, mon SSMS local était endommagé. J'ai dû désinstaller/réinstaller complètement SSMS et je sais que d'autres l'ont fait aussi; de nombreux blogs de MS ont identifié les problèmes remontant jusqu'à juin 2014. L'utilisation de l'ALTER AUTHORIZATION mentionné ainsi que la relocalisation de tous les fichiers ldf et mdf ont résolu tous les problèmes.

0 votes

Salut, j'ai une autre question ici. Je reçois l'erreur ci-dessus dans des circonstances légèrement différentes. Il y a une base de données sur laquelle le nom d'utilisateur dbo apparaît avec mon nom de connexion (Orbus\Gksiazek)

38voto

Chiako Points 279

Correction : Impossible d'utiliser le principal spécial 'sa'. Microsoft SQL Server, Erreur : 15405

Lors de l'importation d'une base de données dans votre instance SQL, vous vous retrouverez avec l'erreur "Impossible d'utiliser le principal spécial 'sa'. Microsoft SQL Server, Erreur : 15405" qui apparaît lorsque vous définissez l'utilisateur sa comme DBO de la base de données. Pour résoudre ce problème, ouvrez SQL Management Studio et cliquez sur Nouvelle Requête. Tapez :

USE madatabase
exec sp_changedbowner 'sa', 'true'

Fermez la nouvelle requête et après avoir consulté la sécurité de sa, vous verrez que sa est bien le DBO de la base de données. (14444)

Source : http://www.noelpulis.com/fix-cannot-use-the-special-principal-sa-microsoft-sql-server-error-15405/

0 votes

Il en va de même si la base de données n'a plus de propriétaire valide. (Utilisateur supprimé, serveur restauré sur une autre machine, etc.)

0 votes

Notez que le deuxième argument (map) de la procédure stockée sp_changedbowner a été obsolète et n'a plus aucun effet: learn.microsoft.com/fr-fr/sql/relational-databases/…

1voto

hamed n Points 11

Pour résoudre ce problème, ouvrez le SQL Server Management Studio et cliquez sur Nouvelle requête. Ensuite, tapez :

USE mydatabase
exec sp_changedbowner 'sa', 'true'

0voto

user2120935 Points 1

Cette réponse ne s'applique pas aux bases de données SQL où SharePoint est connecté. db_securityadmin est requis pour les bases de données de configuration. Pour ajouter db_securityadmin, vous devrez changer le propriétaire de la base de données pour un compte administratif. Vous pouvez utiliser ce compte uniquement pour les rôles dbo.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X