Vous pouvez leur accorder la VIEW DEFINITION
privilège à ces procs.
Voir ici
pour ce que fait ce privilège.
Vous pouvez appliquer VIEW DEFINITION
à différentes portées :
- Serveur
- Base de données
- Schéma
- Entités individuelles (par exemple, une procédure, une fonction, une vue)
Vous pouvez également utiliser une requête pour générer un script pour de nombreuses procédures.
Donc, si vous avez un utilisateur 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';
cela vous donnera quelque chose comme ceci, que vous pourrez ensuite exécuter :
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;
...