2013-04-16 4 views
20

Ich versuche, kann ich BerechtigungenKann den Benutzer nicht finden ‚‘, weil es nicht oder Sie haben keine Berechtigung existiert

USE [MyDatabaseName] 
GO 

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

mit dieser Abfrage für eine Benutzerberechtigung zu einem Abspeicherprozedur hinzuzufügen geben in den Benutzer durch denBEDIENEREINGABENdes Schnittstelle aber mit dieser Abfrage ich diese Fehlermeldung erhalten,

kann nicht den Benutzer ‚username‘, weil es nicht vorhanden ist oder Sie haben nicht die Erlaubnis .

Wenn ich keine Berechtigungen habe, dann wie kann ich Berechtigungen über die Benutzeroberfläche hinzufügen.

+0

Sind Sie sicher, dass der Benutzername existiert? Wenn es ein Windows-Konto ist, wird auch der Domainname vorangestellt. – Ulises

+0

Ich habe es geschafft und yeah mein Benutzer mit diesem Namen existiert. – Mathematics

+0

Die Fehlermeldung ist ziemlich selbsterklärend - sind Sie als Sysadmin oder Dbo verbunden? Entweder ist der Benutzername falsch oder Sie haben keine ausreichenden Berechtigungen. –

Antwort

32

Ich habe gerade das gleiche Problem festgestellt.

Stellen Sie sicher, dass in der Haupttabelle eine Benutzerzuordnung für Ihre Anmeldung vorhanden ist. Es sind keine Datenbankrollenmitgliedschaften erforderlich, klicken Sie einfach in den Eigenschaften für die Anmeldung 'Benutzername' unter 'Benutzerzuordnung' auf 'Zuordnen' für den Datenbankmaster.

0

Sie können Probleme wie diese erhalten, wenn eine Datenbank von einem anderen Server wiederhergestellt wurde und die GUID des Benutzers in der Datenbank sich von der des aktuellen Servers unterscheidet.

Dies wird erneut Link verwaiste Benutzer:

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

andere als diese, wenn der Benutzer vorhanden ist, und Sie haben die entsprechenden Sicherheitsrechte, gibt es keinen Grund, was Sie nicht funktionieren tun würde.

2

Ich hatte dieses Problem und noch bin ich in der lokalen Admin-Gruppe auf dem Server. Offenbar, wenn UAC auf SQL Server Management Studio als Administrator ausgeführt wird macht eine Welt der Unterschied. Ich hatte keine Berechtigungen, bis ich das getan habe. diese

2

Run:

USE [db_where_you_need_access] 
GO 
CREATE USER [your_user] FOR LOGIN [your_user]