Ich bin ehrlich gesagt etwas verwirrt von Ihrer Beschreibung, also lassen Sie es mich bitte wissen, wenn ich hier nicht richtig bin. Sie können dies unten versuchen. Es gewährt Ausführungszugriff auf alle gespeicherten Prozeduren. Wenn Sie nur den Gatekeeper benötigen, um Zugriff auf die eine gespeicherte Prozedur zu haben, gewähren Sie einfach die Ausführung für diese gespeicherte Prozedur. Wenn die gespeicherte Prozedur auf Daten aus anderen Datenbanken zugreift, müssen Sie möglicherweise Berechtigungen für die Tabellen erteilen, damit sie außerhalb ihrer Datenbank zugreift.
CREATE ROLE db_executor
GRANT EXECUTE TO db_executor
EXEC sp_addrolemember 'db_executor', 'gatekeeper'