Możesz przyznać im VIEW DEFINITION
przywileje do tych procesów.
Zobacz tutaj
za to, co robi ten przywilej.
Możesz zastosować VIEW DEFINITION
w różnych zakresach:
- Serwer
- Baza danych
- Schemat
- Poszczególne jednostki (np. proc, funkcja, widok)
Możesz również użyć zapytania do wygenerowania skryptu dla wielu procesów.
Więc jeśli masz użytkownika 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';
to da ci coś takiego, które możesz następnie uruchomić:
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;
...