Fornece aos desenvolvedores acesso somente leitura ao esquema

3

Temos um servidor de teste em que fazemos o teste de aceitação final antes de irmos ao vivo. É uma cópia do Live em que os desenvolvedores não têm mais privilégios que os usuários comuns. Eu estou tentando dar aos devs permissões somente para leitura de dados e objetos neste servidor para que eles possam investigar bugs.

Eu os coloco em uma função que é um membro do db_datareader que lhes dá dados e esquema de tabela, mas eles não podem ver o que está nas views, procs armazenados e funções e então eles continuam vindo até mim para descobrir. Eu não posso adicioná-los ao db_ddladmin porque isso permitiria que eles alterassem objetos, e não vejo nenhum outro servidor fixo ou funções de banco de dados que pareçam corretas.

Eu realmente preciso conceder a eles VIEW DEFINITION em todos os objetos em questão ou há uma maneira mais limpa?

    
por David Wimbush 02.11.2009 / 11:22

2 respostas

2

Você pode conceder a permissão "Definição de visualização" no nível do esquema. A maneira mais fácil é criar uma nova função no banco de dados de preparo (digamos "dev_datareader"). Então você executa o seguinte, substitua seu nome de esquema por "dbo" se for diferente:

GRANT SELECT, VIEW DEFINITION ON SCHEMA::[dbo] TO [dev_datareader]
    
por 09.11.2009 / 14:30
0

Aqui está o SQL completo (com criação de usuário)

CREATE LOGIN dev_datareader
    WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';  
GO  

  CREATE USER dev_datareaderFOR LOGIN dev_datareader;  
GO  

GRANT SELECT, VIEW DEFINITION ON SCHEMA::[dbo] TO dev_datareader
    
por 17.11.2016 / 13:54