Ich verwende SQL Server 2008 R2. Ich muss alle gespeicherten Prozeduren auflisten, die ein Datenbankbenutzer (MYUSER) Ausführungsberechtigung hat.
Außerdem muss ich auflisten, welche gespeicherten Prozeduren der Benutzer NICHT EXECUTE-Berechtigung hat - aber er kann das Skript der gespeicherten Prozedur lesen
Gibt es zu diesen Zwecken eine SQL-Anweisung oder eine Hilfsfunktion?
REFERENZ:
Die Antwort von knb funktioniert wegen fehlender Rechte nicht. (eine Lösung für einen anderen Benutzer als die aktuelle)
Kann nicht als Datenbank-Principal ausgeführt werden, da der Prinzipal "mein Benutzer" existiert nicht, diese Art von Principal kann nicht imitiert werden, oder du keine Erlaubnis haben.
Dies Antwort zeigt, wie die Liste der gespeicherten Prozeduren abgerufen wird, für die einem bestimmten Datenbankbenutzer ('mein Benutzer') die Berechtigung EXECUTE explizit erteilt wurde:
%Vor%Ich habe es wie folgt geändert, um die Liste zu erhalten, die ich brauche:
%Vor%Getestet auf Microsoft SQL Server 2008 R2
Tags und Links sql-server stored-procedures sql-server-2008-r2