Puoi concedere loro il VIEW DEFINITION
privilegio a tali processi.
Vedi qui
per quello che fa questo privilegio.
Puoi applicare VIEW DEFINITION
in diversi ambiti:
- Server
- Banca dati
- Schema
- Singole entità (ad es. un processo, una funzione, una vista)
Puoi anche utilizzare una query per generare uno script per molti processi.
Quindi se hai un utente Bob
:
SELECT N'GRANT VIEW DEFINITION ON '
+ QUOTENAME(SPECIFIC_SCHEMA)
+ N'.'
+ QUOTENAME(SPECIFIC_NAME)
+ N' TO Bob;'
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE';
che ti darà qualcosa del genere, che puoi quindi eseguire:
GRANT VIEW DEFINITION ON [dbo].[aspnet_RegisterSchemaVersion] TO Bob;
GRANT VIEW DEFINITION ON [dbo].[aspnet_CheckSchemaVersion] TO Bob;
GRANT VIEW DEFINITION ON [dbo].[aspnet_Applications_CreateApplication] TO Bob;
...