none
Datenbankrolle vom SQL Server auslesen

    Frage

  • Hallo,

    hab ich die Möglichkeit, die einem User zuegordnete Datenbankrolle vom SQL-Server 208 auszulesen?
    Wir arbeiten mit Access 2010 und Windows-Authentifizierung. Den Usernamen habe ich also schon.
    Da die User in unterschiedlichen Projekten unterschiedliche Rollen haben, sind die Gruppen im AD nicht besonders gut für das Vorhaben geeignet.

    Hintergrund ist, dass bestimmte Steuerelemente nur für User einer bestimmten Gruppe eingeblendet werden sollen. Bisher hab ich die Gruppenzugehörigkeit in einer eigenen Tabelle verwaltet, die Lösung über die Datenbankrolle wäre da etwas eleganter.

    Vielen Dank schonmal
    Maik

    Dienstag, 27. September 2011 10:04

Antworten

Alle Antworten

  • Arbeitest du mit integrierter Windows-Authentifzierung oder mit SQL Server Authentifzierung? Was ist ein Projekt? Wieviele Datenbanken sind hier beteiligt? Eine pro Projekt?

    Eine Datenbankrolle lediglich als Steuerungsmeachnismus für die Oberfläche zu benutzen ist ein bischen wie mit Kanonen auf Spatzen schießen. Um was für "bestimmte Steuerelemente" handelt es sich?

     

    Dienstag, 27. September 2011 11:59
    Moderator
  • Wie oben geschrieben arbeite ich mit integrierter Windows-Authentifizierung. Pro Projekt wird eine Datenbank verwendet.
    Über die Datenbankrollen definiere ich Zugriffsrechte auf Tabellen/Sichten.
    Ich arbeite mit ungebundenen Formularen, die Daten werden erst auf Anforderung bereitgestellt.

    Nun soll beispielweise eine Schaltfläche Lock den Datensatz als nicht bearbeitbar markieren. Diese Schaltfläche sollen aber nur Mitglieder der Gruppe Datenmanagement sehen, Mitglieder der Gruppe Dateneingabe aber nicht. Wie gesagt, die Gruppen unterscheiden sich schon durch ihre Zugriffsrechte, daher wollte ich sie auch für die Lock-Funtion nutzen.

     

    Dienstag, 27. September 2011 12:07
  • Du kannst die Rollenzugehörigkeit über sys.database_role_members bzw. mit der IS_MEMBER() Funktion abfragen. Siehe http://msdn.microsoft.com/en-us/library/ms189121.aspx

    • Als Antwort markiert Maik Hahmann Dienstag, 27. September 2011 12:37
    Dienstag, 27. September 2011 12:25
    Moderator