Qual é a abordagem para conceder a um usuário a capacidade de visualizar todos os procedimentos armazenados em todos os esquemas?
O comando como
GRANT VIEW DEFINITION ON [dbo].[{SprocNameHere}] TO [{UserNameHere}]
é um pônei de um truque e tem que ser feito para todos os sprocs. Existe uma maneira mais genérica de incluir todos?
Você pode conceder em um escopo de esquema
ou todo o banco de dados
Tudo bem se os outros tipos de objeto também forem incluídos? Ou seja, veja se existe uma tabela, veja o código fonte para visualizações etc. Se sim, você pode fazer
Ou seja, exclua o nome do objeto, que agora é o padrão do banco de dados atual. Ou, se quiser ser mais explícito:
Eu não acho que você pode incluir um tipo de objeto acima. A outra solução que posso encontrar é um trabalho agendado que faz um loop nos procedimentos e faz um GRANT explícito para cada objeto.