Jump to content

Rechte des aktuellen Users auslesen zur Selbstkontrolle


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo an alle,

 

die Aufgabe klingt eigentlich ganz einfach aber ich habe leider noch nichts passendes gefunden, aber vielleicht könnt ihr ja helfen. Meine User melden sich alle per Windowsauthorisierung an meinem SQL Server an. Nun will ich aber wissen was die angemeldete Person für Rechte hat! So zu sagen eine Art Selbstkontrolle aber nur für den aktuell gerade angemeldeten User(bei eingeschränkten Rechten würde er eh nicht mehr machen können ;) ). Schön wäre ein Weg wo ich das auf Tabellenebene sehen könnte.

 

Kann mir jemand einen Tipp geben?

bearbeitet von tutter
Geschrieben

Moin,

 

ja, das geht. Such mal nach "SQL Server get permissions", da findest du eine ganze Reihe von Ansätzen.

 

Beispielsweise:

[sSIS Junkie : SQL Server 2005: View all permissions (2) - Explode the roles!]
http://consultingblogs.emc.com/jamiethomson/archive/2007/02/09/SQL-Server-2005_3A00_-View-all-permissions--_2800_2_2900_.aspx
 


http://blog.sqlauthority.com/2007/10/23/sql-server-get-permissions-of-my-username-userlogin-on-server-database/
 

[sys.fn_my_permissions (Transact-SQL)]
http://msdn.microsoft.com/en-us/library/ms176097.aspx
 

Gruß, Nils

Geschrieben (bearbeitet)

das sieht schon mal ganz gut aus! Für Datenbankebene funktioniert es! aber kannst du mir auch einen Tipp geben wie ich das auf Tabellenebene hinbekomme?



USE


 [TESTDB];

EXECUTE AS USER = 'tester'; --klappt wunderbar

--EXECUTE AS USER = 'DOMAIN\tester'; ist ein Domain User! den kann ich leider nicht auslesen!

SELECT * FROM fn_my_permissions('NULL', 'DATABASE') 

ORDER BY subentity_name, permission_name ; 

REVERT;

GO



auch das funktioniert: 



USE [TESTDB];

SELECT * FROM fn_my_permissions (NULL, 'DATABASE');

GO



Aber ich hätte es gern auf Tabellenebene:


USE [TESTDB].[dbo].TESTTABELLE;

SELECT * FROM fn_my_permissions (NULL, 'DATABASE');

GO

kannst du da noch mal aushelfen? oder geht das nicht auf Tabellenebene?

bearbeitet von tutter
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...