none
Permitir que o usuário manipule funções escalar RRS feed

  • 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)
    sexta-feira, 27 de maio de 2011 20:19

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
    sexta-feira, 27 de maio de 2011 21:40

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
    sexta-feira, 27 de maio de 2011 21:40
  • 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.

    sexta-feira, 27 de maio de 2011 21:54
  • 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
    sábado, 28 de maio de 2011 03:40