none
Erro de Permissão ao Criar Procedure RRS feed

  • Pergunta

  • Boa tarde à todos,

    Tenho uma base 'BD01' em SQL Server 2005.
    Nesta base tenho o usuário 'teste' que é membro da role 'db_owner', quando tento criar uma stored procedure logado com este usuário ( 'teste' ) obtenho a seguinte mensagem de erro:

    Msg 262, Level 14, State 1, Procedure usp_teste, Line 5
    CREATE PROCEDURE permission denied in database 'DB01'.


    Alguém tem uma sugestão de como posso contornar este problema.

    Obrigado.
    quinta-feira, 23 de outubro de 2008 18:26

Respostas

  • Olá JRSantos,

     

    Possivelmente esse usuário está com alguma permissão mais restritiva. A forma mais rápida é retirá-lo do banco e colocá-lo novamente com a permissão de db_owner. Se o procedimento continuar falhando, verifique se há algo negado para a role public.

     

    [ ]s,

     

    Gustavo

     

    quinta-feira, 23 de outubro de 2008 21:17

Todas as Respostas

  • Olá JRSantos,

     

    Possivelmente esse usuário está com alguma permissão mais restritiva. A forma mais rápida é retirá-lo do banco e colocá-lo novamente com a permissão de db_owner. Se o procedimento continuar falhando, verifique se há algo negado para a role public.

     

    [ ]s,

     

    Gustavo

     

    quinta-feira, 23 de outubro de 2008 21:17
  • Bom dia à todos,

    Gustavo, o problema estava com a role public que estava com permissão negada para 'Create procedure'.

    Desmarquei a caixa de selecão 'Deny' para 'Create procedure' e aí consegui criar a stored procedure numa boa.

    Obrigado pela resposta.



     
    sexta-feira, 24 de outubro de 2008 11:14
  • A instrução GRANT resolve este problema caso você queira em apenas uma procedure especifica.

     

    Para garantir que o login criado possa ter acesso a criação, alteração, etc,  de qualquer procedure ele deve estar na role sysadmin.

     

     

     

     

    sexta-feira, 24 de outubro de 2008 11:59
  • Olá JrSantos,

     

    Foi o que pensei. Se puder classifique a resposta.

     

    Tenha cuidado com permissões. Dê apenas o mínimo possível para que o usuário possa executar as ações de que necessita. Conceder permissões como db_owner e sysadmin pode ser perigoso (um db_owner pode excluir o banco se desejar).

     

    [ ]s,

     

    Gustavo

     

    sexta-feira, 24 de outubro de 2008 23:08
  •  

    Ok JRSantos se precisar de algo é só mandar sua duvida, até mais.
    segunda-feira, 27 de outubro de 2008 11:41