web-dev-qa-db-fra.com

Impossible de trouver l'utilisateur '', car il n'existe pas ou vous n'avez pas l'autorisation

J'essaie d'ajouter des autorisations à une procédure de stockage pour un utilisateur utilisant cette requête,

USE [MyDatabaseName]
GO

GRANT EXEC ON [dbo].[StoreProcedureName] TO [UserName]
GO

Je peux donner des autorisations à l'utilisateur via l'interface utilisateur mais en utilisant cette requête, j'obtiens cette erreur,

Impossible de trouver l'utilisateur 'UserName', car il n'existe pas ou vous ne disposez pas de l'autorisation.

Si je n'ai pas d'autorisations, comment puis-je ajouter des autorisations à l'aide de l'interface utilisateur.

26
Mathematics

Je viens de rencontrer le même problème.

Assurez-vous qu'il existe un mappage utilisateur pour votre connexion dans la table principale. Aucune appartenance à un rôle de base de données n'est requise, il suffit de cocher "Carte" pour le maître de base de données sous "Mappage d'utilisateur" dans les propriétés de la connexion "Nom d'utilisateur".

39
Daniele Torino

Lance ça:

USE [db_where_you_need_access]
GO
CREATE USER [your_user] FOR LOGIN [your_user]
10
Mark Varnas

J'ai eu ce problème et pourtant je fais partie du groupe d'administrateurs local sur le serveur. Apparemment, si l'UAC est activé, l'exécution de SQL Server Management Studio en tant qu'administrateur fait toute la différence. Je n'avais aucune autorisation jusqu'à ce que je fasse cela.

3
Mike Cheel

Vous pouvez obtenir des problèmes comme celui-ci lorsqu'une base de données a été restaurée à partir d'un autre serveur et que le GUID de l'utilisateur dans la base de données est différent de celui du serveur actuel.

Cela permettra de relier les utilisateurs orphelins:

USE <database_name>;
GO
sp_change_users_login @Action='update_one', @UserNamePattern='<database_user>', 
   @LoginName='<login_name>';
GO

à part cela, si l'utilisateur existe et que vous disposez des droits de sécurité appropriés, il n'y a aucune raison pour que ce que vous faites ne fonctionne pas.

0
Terry White