Você está procurando VIEW DEFINITION
.
Você pode conceder um principal VIEW DEFINITION
em vários escopos (servidor, banco de dados, esquema, objeto específico).
Exemplo para um procedimento armazenado:
Use MyDB
GRANT VIEW DEFINITION ON p_MyProc TO SomeUser
Para todos os objetos em um banco de dados:
Use MyDB
GRANT VIEW DEFINITION TO SomeUser
Para todos os objetos no servidor:
USE master
GRANT VIEW ANY DEFINITION TO SomeUSer
Nota: ao conceder permissões no nível do servidor, o principal também deve ter acesso no nível do banco de dados para visualizar as definições no banco de dados.