Usuário com melhor resposta
Permitir que o usuário manipule funções escalar

Pergunta
-
Srs. Boa Tarde!Criei um usuário com o atributo db_datareader e relacionei ao banco DADOSADV.Como faço para que esse usuário consiga criar/executar/excluir funções?Ele terá somente permissão para manipulação de funções e consultas (não poderá incluir, atualizar ou excluir tabelas etc).Obrigado,Denison Soares
[]´s Obrigado, Denison Soares
- Movido Gustavo Maia Aguiar sexta-feira, 27 de maio de 2011 21:57 (De:SQL Server - Desenvolvimento Geral)
Respostas
-
Boa Tarde,
Para criar funções você precisar da permissão CREATE FUNCTION.
Entretanto, essa permissão não dá direito a alterar ou excluir funções já existentes que o usuário criador seja diferente.Você terá que conceder permissões de DDL_Admin. Isso permitirá que o usuário possa criar, alterar ou excluir funções, mas também permitirá que o usuário faça muitas outras coisas que vão além dessa permissão (alterar colunas de tabelas, dropar SPs, etc).
Nunca me deparei com um cenário em que alguém precise criar, alterar e excluir funções. Qual seria a necessidade ?
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Denison Soares sábado, 28 de maio de 2011 03:38
Todas as Respostas
-
Boa Tarde,
Para criar funções você precisar da permissão CREATE FUNCTION.
Entretanto, essa permissão não dá direito a alterar ou excluir funções já existentes que o usuário criador seja diferente.Você terá que conceder permissões de DDL_Admin. Isso permitirá que o usuário possa criar, alterar ou excluir funções, mas também permitirá que o usuário faça muitas outras coisas que vão além dessa permissão (alterar colunas de tabelas, dropar SPs, etc).
Nunca me deparei com um cenário em que alguém precise criar, alterar e excluir funções. Qual seria a necessidade ?
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Denison Soares sábado, 28 de maio de 2011 03:38
-
Denison,
para dar controle total às funções já existentes, siga o seguinte caminho:
- Clique com o botão direito sobre o usuário do banco e escolha a opção "Properties".
- Na janela que se abre (Database User), clique na aba "Securables" e, no lado direito, no botão "Search".
- Será aberta a tela "Add Objects". Marque a opção "All objects of the types..." e clique em "OK".
- Será aberta a janela "Select Object Types". Marque "Scalar Functions" e clique em "OK".
As funções serão listadas na tela. Para cada função que quiser dar acesso, marque a caixa "Grant" na parte inferior da tela.
Roberson Ferreira
Se esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta. -
Boa Tarde,
Para criar funções você precisar da permissão CREATE FUNCTION.
Entretanto, essa permissão não dá direito a alterar ou excluir funções já existentes que o usuário criador seja diferente.Você terá que conceder permissões de DDL_Admin. Isso permitirá que o usuário possa criar, alterar ou excluir funções, mas também permitirá que o usuário faça muitas outras coisas que vão além dessa permissão (alterar colunas de tabelas, dropar SPs, etc).
Nunca me deparei com um cenário em que alguém precise criar, alterar e excluir funções. Qual seria a necessidade ?
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com
Classifique as respostas. O seu feedback é imprescindível
Gustavbo, gostaria de deixar esse usuário com essa permissão apenas para que ele possa manipular funções existentes. Quanto a negação na DDL seria importante pois tenho tabelas em que ele não pode mexer... no caso, ele poderia mexer apenas nas funções...
[]´s Obrigado, Denison Soares