MSSQL 2005 - ausführen einer bestimmten Funktion aus der MasterDB erlauben
Hallo an alle,
seit einer Weile versuche ich einem SQL-Benutzerlogin das der Public-Rolle angehört und keine Rechte auf die MasterDB hat die Erlaubnis zu geben die Funktion xp_logininfo (MasterDB->gespeicherte Systemprozeduren) auszuführen. Diese Prozedure konnte ich bisher nur ausführen wenn der Nutzer der SysAdmin Rolle angehört. Ansonsten bekomme ich die Fehlermeldung:
Die EXECUTE-Berechtigung wurde für das 'xp_logininfo'-Objekt, 'mssqlsystemresource'-Datenbank, 'sys'-Schema, verweigert.
Hat vielleicht irgendjemand eine Idee wie ich das bewerkstelligen könnte? Außer dem auffrufen dieser Funktion soll der Benutzer keine Rechte in der MasterDB haben.
Über eine Antwort würde ich mich freuen. Vielen Dank
seit einer Weile versuche ich einem SQL-Benutzerlogin das der Public-Rolle angehört und keine Rechte auf die MasterDB hat die Erlaubnis zu geben die Funktion xp_logininfo (MasterDB->gespeicherte Systemprozeduren) auszuführen. Diese Prozedure konnte ich bisher nur ausführen wenn der Nutzer der SysAdmin Rolle angehört. Ansonsten bekomme ich die Fehlermeldung:
Die EXECUTE-Berechtigung wurde für das 'xp_logininfo'-Objekt, 'mssqlsystemresource'-Datenbank, 'sys'-Schema, verweigert.
Hat vielleicht irgendjemand eine Idee wie ich das bewerkstelligen könnte? Außer dem auffrufen dieser Funktion soll der Benutzer keine Rechte in der MasterDB haben.
Über eine Antwort würde ich mich freuen. Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 140057
Url: https://administrator.de/forum/mssql-2005-ausfuehren-einer-bestimmten-funktion-aus-der-masterdb-erlauben-140057.html
Ausgedruckt am: 11.04.2025 um 12:04 Uhr
3 Kommentare
Neuester Kommentar
Moin ChrFriedel,
willkommen im Forum.
Ich will dir da nicht den Mut nehmen, aber -selbst wenn es noch relativ unkompliziert unter SQL2005 gehen sollte, einem Deppen-User einfach das Execute-Recht zu geben (was laut BOL eigentlich auch nicht gehen sollte)... mit hoher Wahrscheinlichkeit darf der geneigte DAU dann aufrufen und bekommt ein leeres ResultSet.
Oder aber doch den beliebten "Msg 15404, Level 16, State 19, ..... Error 0x5" ==> keine Rechte.
Und in SQLServer 2008 haben die Redmonder genau an dieser Sollbruchstelle nochmal rumgealbert:
Steck in den Plan "Rechteloser User soll mit xp_logininfo alles sehen können, was ein Domain Admin sieht" nicht zuviel Aufwand.
Was ist denn der fachliche Hintergrund deiner Anforderung - wie kommt es zu dieser Konstellation?
Grüße
Biber
willkommen im Forum.
Ich will dir da nicht den Mut nehmen, aber -selbst wenn es noch relativ unkompliziert unter SQL2005 gehen sollte, einem Deppen-User einfach das Execute-Recht zu geben (was laut BOL eigentlich auch nicht gehen sollte)... mit hoher Wahrscheinlichkeit darf der geneigte DAU dann aufrufen und bekommt ein leeres ResultSet.
Oder aber doch den beliebten "Msg 15404, Level 16, State 19, ..... Error 0x5" ==> keine Rechte.
Und in SQLServer 2008 haben die Redmonder genau an dieser Sollbruchstelle nochmal rumgealbert:
Permissions für xp_logininfo laut MSDN
Requires membership in the sysadmin fixed server role or membership in the public fixed database role in the master database with EXECUTE permission granted.
Requires membership in the sysadmin fixed server role or membership in the public fixed database role in the master database with EXECUTE permission granted.
Steck in den Plan "Rechteloser User soll mit xp_logininfo alles sehen können, was ein Domain Admin sieht" nicht zuviel Aufwand.
Was ist denn der fachliche Hintergrund deiner Anforderung - wie kommt es zu dieser Konstellation?
Grüße
Biber