Sinceramente sono un po' confuso dalla tua descrizione, quindi per favore fatemi sapere se sono fuori base qui. Puoi provare questo di seguito. Concederà l'accesso in esecuzione a tutte le procedure archiviate. Se hai solo bisogno che il gatekeeper abbia accesso a una procedura memorizzata, concedi semplicemente l'esecuzione su quella procedura memorizzata. Se la procedura memorizzata sta accedendo a dati da altri database, potrebbe essere necessario concedere autorizzazioni sulle tabelle e in modo tale che acceda al di fuori del relativo database.
CREATE ROLE db_executor
GRANT EXECUTE TO db_executor
EXEC sp_addrolemember 'db_executor', 'gatekeeper'