La visibilità dei metadati degli oggetti è soggetta alla VISUALIZZA DEFINIZIONE permesso:
GRANT VIEW DEFINITION ON ... TO cctc_reader;
Il diritto sicuro a cui concedere l'autorizzazione dipende dal tuo scenario. Potrebbe essere il dbo o qualche altro schema, potrebbe essere il database stesso, potrebbero essere singole tabelle. Se fossi al tuo posto, firmerei in codice la procedura recControl_system_option e concederei VIEW ANY DEFINIZIONE sulla firma a livello di server, un modo molto migliore e sicuro rispetto all'utilizzo dei ruoli e alla concessione di autorizzazioni sui ruoli. Vedi Firma di una procedura attivata per un esempio di come firmare una procedura e concedere un'autorizzazione a livello di server sulla firma.