locked
Restringir usuário a view RRS feed

  • Pergunta

  • Pessoal,

    Procurei no fórum e até encontrei material, mas nenhum me atendeu ou estou fazendo algo de errado e não estou vendo. Criei minha view, agora estou tentado criar um usuário que só consiga acessar a view.

    Utilizei os comando:


    Use
    meBANCO
    GO
    DENY ALTER ON VW_CONSULTA_ST TO Consulta_vw
    GO

    DENY update ON VW_CONSULTA_ST TO Consulta_vw
    go

    GRANT VIEW DEFINITION ON VW_CONSULTA_ST TO Consulta_vw
    GO

    GRANT EXEC ON VW_CONSULTA_ST TO Consulta_vw


    SELECT
    'GRANT SELECT ON ' + NAME + ' TO Usuario' FROM sys.views

    GRANT SELECT ON vw_consulta_St TO Consulta_vw;
    GO

    quando logo no usuário e tento executar a view diz que não posso acessar o banco de dados onde a view foi criada.

    Tentei criar o usuário na mão, mas também deu um erro na conversão de um varchar em datetime. Rodei a view com o usuário SA, e funcionou perfeitamente.

    Alguém tem uma dica?


    Guisal

    quarta-feira, 11 de abril de 2012 02:55

Todas as Respostas

  • Guilherme,

    O Usuario esta com permissao de connect na base de dados?


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com

    quarta-feira, 11 de abril de 2012 12:07
    Moderador
  • Sim.

    Guisal


    • Editado GuiSal terça-feira, 17 de abril de 2012 20:25
    terça-feira, 17 de abril de 2012 20:03
  • Resolvi o problema da seguinte forma,

    Delete o usuário antigo e crie um novo, depois utilizei os seguintes scripts:

    CREATE USER Consulta FROM Login Consulta;
    GRANT SELECT ON dbo.CONSULTA To usu_Consulta;

    select * from CONSULTA


    Guisal

    quarta-feira, 18 de abril de 2012 12:59
  • Guilherme,

    No momento da criação do usuário você configurou os bancos de dados que o mesmo teria acesso? Você também definiu o banco de dados padrão?

    Utilize a System Stored Procedure SP_GrantDBAccess para dar permissão de acesso deste usuário ao banco de dados.

    Ou então utilize o comando Create User SeuUsuario For SeuLogin dentro do banco de dados que você deseja que usuário tenha acesso.


    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]

    quarta-feira, 18 de abril de 2012 13:02
    Moderador