none
Permissões para usuários nos objetos sp_OACreate sp_OASetProperty sp_OAMethod sp_OADestroy RRS feed

  • Pergunta

  • Prezados sou leigo em SQL Server e suas permissões , preciso que alguns usuários tenham permissão de executar estes objetos mesmo nao sendo sysadmins

    como faço isso pelo management studio do sql 2005 ou por linha de comando ? segue o erro que aparece ao efetuar a execução dos objetos :

    Msg 229, Level 14, State 5, Procedure sp_OACreate, Line 1

    The EXECUTE permission was denied on the object 'sp_OACreate', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OASetProperty, Line 1

    The EXECUTE permission was denied on the object 'sp_OASetProperty', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OAMethod, Line 1

    The EXECUTE permission was denied on the object 'sp_OAMethod', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OAMethod, Line 1

    The EXECUTE permission was denied on the object 'sp_OAMethod', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OAMethod, Line 1

    The EXECUTE permission was denied on the object 'sp_OAMethod', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OAMethod, Line 1

    The EXECUTE permission was denied on the object 'sp_OAMethod', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OADestroy, Line 1

    The EXECUTE permission was denied on the object 'sp_OADestroy', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OACreate, Line 1

    The EXECUTE permission was denied on the object 'sp_OACreate', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OASetProperty, Line 1

    The EXECUTE permission was denied on the object 'sp_OASetProperty', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OAMethod, Line 1

    The EXECUTE permission was denied on the object 'sp_OAMethod', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OAMethod, Line 1

    The EXECUTE permission was denied on the object 'sp_OAMethod', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OAMethod, Line 1

    The EXECUTE permission was denied on the object 'sp_OAMethod', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OAMethod, Line 1

    The EXECUTE permission was denied on the object 'sp_OAMethod', database 'mssqlsystemresource', schema 'sys'.

    Msg 229, Level 14, State 5, Procedure sp_OADestroy, Line 1

    The EXECUTE permission was denied on the object 'sp_OADestroy', database 'mssqlsystemresource', schema 'sys'.

    Grato a Todos !

     

    segunda-feira, 8 de agosto de 2011 20:14

Respostas

  • José,

    Sinceramente, eu não gosto de utilizar os recursos da SP_OA, acho que eles são muito burocraticos e um pouco complicado, eu prefiro trabalhar com a linguagem CLR ainda mais se trabalhada em conjunto com C# e SQL Server.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    segunda-feira, 22 de agosto de 2011 00:23
    Moderador

Todas as Respostas

  • José,

    Para execução destas procedures o usuário que as executa necessita fazer parte da role SYSADMIN, caso contrário, terá permissão de execução negada.

     

    Att.


    Erickson Ricci
    Microsoft MCP, MCTS SQL Server 2005, 2008
    Visite o meu blog: http://ericksonricci.wordpress.com
    Me siga no twitter: @EricksonRicci
    LinkedIN: http://br.linkedin.com/in/ericksonricci
    e-mail: ericksonfabricio@gmail.com
    **Ajude a melhorar o sistema de busca do fórum.Marque a(s) resposta(s) que foram úteis**
    **Se esta resposta solucionou a questão, então, por favor, marque-a como resposta.**
    segunda-feira, 8 de agosto de 2011 21:45
  • Boa Tarde,

    O máximo que você pode fazer é criar um SP que chama as SP_OA*. Nessa SP, você muda o contexto com o EXECUTE As Login. Não estou 100% certo de funcionar, pois, pode ser necessário usar algumas propriedades como o TRUSTHWORTH nas bases em questão.

    O uso da SP_OA* é inevitável ? Eu iria sugerir o uso do CLR, pois, são mais seguros que o uso do código não gerenciado. Se um usuário roda uma SP_OA*, ele pode comprometer a estabilidade do serviço se houver chamada a métodos sem o devido tratamento.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    terça-feira, 9 de agosto de 2011 16:55
  • José,

    Sinceramente, eu não gosto de utilizar os recursos da SP_OA, acho que eles são muito burocraticos e um pouco complicado, eu prefiro trabalhar com a linguagem CLR ainda mais se trabalhada em conjunto com C# e SQL Server.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    segunda-feira, 22 de agosto de 2011 00:23
    Moderador
  • Junior obrigado pela dica vou orientar os desenvolvedores a utilizarem esta linguagem se possivel, mas obrigado a todos pela a atenção e resposta !
    terça-feira, 23 de agosto de 2011 01:08