Можете да им предоставите VIEW DEFINITION
привилегия за тези процедури.
Вижте тук
за това какво прави тази привилегия.
Можете да приложите VIEW DEFINITION
в различни обхвати:
- Сървър
- База данни
- Схема
- Индивидуални обекти (напр. процедура, функция, изглед)
Можете също така да използвате заявка за генериране на скрипт за много процедури.
Така че, ако имате потребител 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';
това ще ви даде нещо подобно, което след това можете да стартирате:
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;
...