Видимостта на метаданните на обектите е предмет на ДЕФИНИЦИЯ ЗА ИЗГЛЕД разрешение:
GRANT VIEW DEFINITION ON ... TO cctc_reader;
Правото за защита, на което да предоставите разрешение, зависи от вашия сценарий. Може да е dbo или някаква друга схема, може да е самата база данни, може да са отделни таблици. Ако бях на ваше място, бих кодирал процедурата recControl_system_option и бих предоставил VIEW ANY DEFINITION върху подписа на ниво сървър, много по-добър и сигурен начин от използването на роли и предоставянето на разрешение за роли. Вижте Подписване на активирана процедура за пример как да подпишете процедура и да предоставите разрешение на ниво сървър за подписа.