正直なところ、あなたの説明には少し混乱しているので、ここから外れている場合はお知らせください。以下でこれを試すことができます。すべてのストアド プロシージャへの実行アクセスを許可します。ゲートキーパーが 1 つのストアド プロシージャにアクセスするだけでよい場合は、そのストアド プロシージャの実行を許可するだけです。ストアド プロシージャが他のデータベースのデータにアクセスしている場合は、データベースの外部にアクセスできるように、テーブルに対するアクセス許可を付与する必要がある場合があります。
CREATE ROLE db_executor
GRANT EXECUTE TO db_executor
EXEC sp_addrolemember 'db_executor', 'gatekeeper'