WolfangP 0 Geschrieben 2. November 2020 Melden Teilen Geschrieben 2. November 2020 Hallo, gerne möchte ich die Funktion sp_who2 benutzen, um den Benutzern der Datenbank alle aktuell angemeldeten Benutzer bzw. aktive Transaktionen anzeigen lassen. Testweise habe ich einigen Benutzern die Berechtigung 'VIEW SERVER STATE' erteilt, so dass die benutzerdefinierte Procedure die gewünschte Liste liefert. Nun wollte ich aber nicht jedem Benutzer diese Rechte erteilen, sondern besser die Procedure mittels 'EXECUTE AS-Klausel' ausführen lassen. Vorgegangen bin ich dabei nach der Anleitung von Microsoft: "Anpassen von Berechtigungen durch Identitätswechsel in SQL Server". Leider gelingt es mir nicht der Anmeldung 'proxyUser' die erforderliche Berechtigung zu erteilen. Die Anweisung : GRANT VIEW SERVER STATE TO "proxyUser" schlägt mit folgender Meldung fehl: 'Suchen des Anmeldung-Objekts 'proxyUser' ist nicht möglich, weil das Objekt nicht vorhanden ist oder Sie nicht die erforderliche Berechtigung haben.' Über Hinweise zur Lösung des Problems oder alternativer Vorgehensweise würde ich mich freuen. Vielen Dank. Grüße Wolfgang Zitieren Link zu diesem Kommentar
MDD 12 Geschrieben 2. November 2020 Melden Teilen Geschrieben 2. November 2020 Hallo Der User "proxyUser" existiert bereits und ist aktiv? du schreibst schon: GRANT VIEW SERVER STATE TO proxyUser ohne die Hochkommas bzw. Anführungszeichen? Zitieren Link zu diesem Kommentar
WolfangP 0 Geschrieben 3. November 2020 Autor Melden Teilen Geschrieben 3. November 2020 vor 16 Stunden schrieb MDD: Hallo Der User "proxyUser" existiert bereits und ist aktiv? du schreibst schon: GRANT VIEW SERVER STATE TO proxyUser ohne die Hochkommas bzw. Anführungszeichen? Hallo, vielen Dank für Deine Antwort. Der User wird wie folgt erstellt. USE DbName CREATE USER proxyUser WITHOUT LOGIN USE master GRANT VIEW SERVER STATE TO proxyUser Es ist unerheblich, ob mit oder ohne doppelte Anführungszeichen. Beides ist zulässig. Die Fehlermeldung dazu lautet: Meldung 15151, Ebene 16, Status 1, Zeile 29 Suchen des Anmeldung-Objekts 'proxyUser' ist nicht möglich, weil das Objekt nicht vorhanden ist oder Sie nicht die erforderliche Berechtigung haben. Stutzig macht mich, dass SQL-Server hier nach einem Anmeldungs-Objekt sucht. proxyUser ist ja explizit ein Objekt OHNE Anmeldung. Die Frage ist also, wie erteile ich einem Nicht-Anmeldungs-Objekt die erforderlichen Rechte? Erstelle ich eine normale Anmeldung "Dieter Müller" funktioniert sowohl GRANT VIEW SERVER STATE TO [Dieter Müller] als auch GRANT VIEW SERVER STATE TO "Dieter Müller" Gruß Wolfgang Zitieren Link zu diesem Kommentar
NilsK 2.969 Geschrieben 3. November 2020 Melden Teilen Geschrieben 3. November 2020 (bearbeitet) Moin, zu dem User gehört dem Statement nach kein Login. Er kann also nicht zur Anmeldung verwendet werden. Und genau das sagt auch die Fehlermeldung. Du brauchst einen Login, nicht nur einen User. Schließlich willst du ja auf Objekte außerhalb der Datenbank zugreifen. Vielleicht wäre das der richtige Zeitpunkt, mal über Ziel, Sinn und Ansatz nachzudenken. Mir kommt das Vorhaben schon etwas seltsam vor. Wenn man wüsste, was am Ende erreicht werden soll, könnte man vielleicht Lösungswege vorschlagen. Gruß, Nils bearbeitet 3. November 2020 von NilsK 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.