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!

Recommended Posts

Posted (edited)

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?

Edited by tutter
Posted

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

Posted (edited)

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?

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...