tutter 0 Geschrieben 14. August 2014 Melden Teilen Geschrieben 14. August 2014 (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 14. August 2014 von tutter Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 14. August 2014 Melden Teilen Geschrieben 14. August 2014 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 Zitieren Link zu diesem Kommentar
tutter 0 Geschrieben 14. August 2014 Autor Melden Teilen Geschrieben 14. August 2014 (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 14. August 2014 von tutter Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 14. August 2014 Melden Teilen Geschrieben 14. August 2014 Moin, Beispiele C und D aus dem MSDN-Artikel sollten passen. Gruß, Nils Zitieren Link zu diesem Kommentar
tutter 0 Geschrieben 20. August 2014 Autor Melden Teilen Geschrieben 20. August 2014 hallo NilsK ich wollte dir noch mal ein Feedback zukommen lasen! dein Tipp hat geklappt und wird von mir auch sehr ausgiebig genutzt! danke nochmal! Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 20. August 2014 Melden Teilen Geschrieben 20. August 2014 Moin, prima, danke für die Rückmeldung! :) Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.