Eu tenho um grupo de 5 desenvolvedores que precisam visualizar os planos de consultas que eles escreveram para um banco de dados e apenas esse banco de dados. Recuso-me a torná-los membros do administrador do sistema. Não quero que eles possam executar um rastreamento, nunca, neste servidor, nem quero que eles possam executar dmv's.
Esses 5 desenvolvedores são membros de um grupo do Windows. Eu os tornei membros do db_owner.
Isto é o que eu encontrei:
- Uma entidade de servidor com DENY para permissão de servidor ALTER TRACE encontrará o Erro 262 ao tentar visualizar a saída SHOWPLAN
- Isso acontece mesmo se o principal do banco de dados tiver uma permissão de banco de dados GRANT for SHOWPLAN
- Isso acontece porque a permissão SHOWPLAN está implícita na permissão ALTER TRACE
- Isso não acontece se o principal do banco de dados for o proprietário do banco de dados
- Uma entidade de servidor com GRANT para permissão de servidor ALTER TRACE poderá obter a saída SHOWPLAN sem precisar conceder explicitamente SHOWPLAN para bancos de dados individuais
Somente sysadmin e se você estiver mapeado para o nome de usuário dbo dentro do banco de dados, ele não executa a verificação.
Existe uma maneira de dar a esses desenvolvedores a capacidade de visualizar planos sem a função de administrador de sistema ou conceder alteração de rastreamento ou conceder estado de servidor de exibição?