none
Permissões - SQL RRS feed

  • Pergunta

  • Boa Tarde pessoal,

    Temos um sql 2005 que é utilizado, entre outros, por um Dynamics 4.
    Ocorre que um usuário que tem todos privilégios no Dynamics consegue fazer select 
    em todas tabelas da base. Minha ideia era criar um usuário do sql que pudesse fazer select nestas tabelas.
    Criei o usuário, atribuí primeiramente a permissão de db_datareader  e nada. 
    Então apelei inserindo-o como db_owner mas o problema continua.

    Quando executo o select com este usuário do dynamics, os resultados são apresentados normalmente.
    Mas com outros usuários, inclusive o usuário administrator do servidor que também é admin no sql, 
    o resultado aparece em branco, ou as informações aparecem com diferença de 4 horas.

    Como paliativo, poderia até liberar este usuário do Dynamics para a equipe de relatórios utilizar, mas aí mora outro problema.
    Este relatório é extraído via Crystal Reports. O servidor onde está o sql e o dynamics estão num domínio diferente 
    do que está o servidor do Crystal. Ou seja, tenho que puxar os dados criando uma conexão ODBC com um usuário
    do sql. Correto ?

    Alguém tem alguma ideia ?
    Obrigado pessoal.

    Rodolfo - MCP

    quinta-feira, 16 de abril de 2015 17:22

Todas as Respostas

  • Quando vc executa no management studio retorna os resultados normal?

    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves

    quinta-feira, 16 de abril de 2015 17:35
  • Com o usuário do Dynamics sim. Com o usuário que criei e atribuí as permissões, não.


    Rodolfo - MCP

    quinta-feira, 16 de abril de 2015 17:53
  • Quando voce cria qualquer usuario de sql e concede permissão no banco também não retorna nada?

    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves

    quinta-feira, 16 de abril de 2015 18:15
  • Isso mesmo. Só com o usuário do Dynamics retornam os valores.

    Com os demais usuários, mesmo sendo db_owner não funciona.

    Obrigado pela ajuda.


    Rodolfo - MCP

    quinta-feira, 16 de abril de 2015 18:19
  • O usuário do Dynamics  é um usuário sql ou usuário windows?

    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves

    quinta-feira, 16 de abril de 2015 18:23
  • Windows.

    Rodolfo - MCP

    quinta-feira, 16 de abril de 2015 18:46
  • Cara tem alguma coisa muito sinistro, recomendo vc refazer os seus passos ai, porque não faz o menor sentido, vc conseguir acessar os dados com um usuário e com outro não.

    Já testou com o usuário SA ?


    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves

    quinta-feira, 16 de abril de 2015 18:51
  • O Banco foi instalado por uma consultoria quando ainda não estava na equipe.

    Não sei a senha do usuário SA. Tem como saber essa senha ? Se alterar qual o risco que corro ?

    Realmente é estranho, por isso já to batendo cabeça há um mês, e decidi pedir ajuda aos mestres do SQL. Obrigado.


    Rodolfo - MCP

    sexta-feira, 17 de abril de 2015 10:30
  • Rodolfo, bom dia.

    É possível alterar a senha do "sa" através do comando abaixo, desde que executado com o Administrador usando Windows Authentication:

    ALTER LOGIN sa WITH PASSWORD = 'novasenha';

    O problema disso, é que qualquer aplicação que se conecte ao banco utilizando o usuário "sa" apresentará erros de conexão.

    Att,

    Wasley Portes

    sexta-feira, 17 de abril de 2015 11:06
  • Cara você pode alterar a senha do SA desde que você seja Sysadmin.


    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves

    sexta-feira, 17 de abril de 2015 11:35
  • Pessoal realmente não quero "mexer" com o usuário SA.

    Existe alguma outra maneira de resolver isso ? Como faço pra ver todas as permissões de um usuario.

    Assim tento igualar as permissões, sei lá. Muito Obrigado.


    Rodolfo - MCP

    sexta-feira, 17 de abril de 2015 12:22
  • Rodolfo, 

    Use o script abaixo e ele te mostrará as permissões de cada usuário para cada banco de dados:

    ------------------------------------------------------------------

    DECLARE @DB_USers TABLE
    (DBName sysname, UserName sysname, LoginType sysname, AssociatedRole varchar(max),create_date datetime,modify_date datetime)

    INSERT @DB_USers
    EXEC sp_MSforeachdb

    '
    use [?]
    SELECT ''?'' AS DB_Name,
    case prin.name when ''dbo'' then prin.name + '' (''+ (select SUSER_SNAME(owner_sid) from master.sys.databases where name =''?'') + '')'' else prin.name end AS UserName,
    prin.type_desc AS LoginType,
    isnull(USER_NAME(mem.role_principal_id),'''') AS AssociatedRole ,create_date,modify_date
    FROM sys.database_principals prin
    LEFT OUTER JOIN sys.database_role_members mem ON prin.principal_id=mem.member_principal_id
    WHERE prin.sid IS NOT NULL and prin.sid NOT IN (0x00) and
    prin.is_fixed_role <> 1 AND prin.name NOT LIKE ''##%'''

    SELECT

    dbname,username ,logintype ,create_date ,modify_date ,

    STUFF(

    (

    SELECT ',' + CONVERT(VARCHAR(500),associatedrole)

    FROM @DB_USers user2

    WHERE

    user1.DBName=user2.DBName AND user1.UserName=user2.UserName

    FOR XML PATH('')

    )

    ,1,1,'') AS Permissions_user

    FROM @DB_USers user1

    GROUP BY

    dbname,username ,logintype ,create_date ,modify_date

    ORDER BY DBName,username

    ----------------------------------------------------------

    Att,

    Wasley Portes

    • Sugerido como Resposta Wasley Portes sexta-feira, 17 de abril de 2015 12:28
    sexta-feira, 17 de abril de 2015 12:28
  • Vc é sysadmin do banco? se sim você pode tentar acessar o banco com o seu usuário, fazer a consulta e verificar se retorna os dados.



    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves

    sexta-feira, 17 de abril de 2015 12:52
  • Rodolfo,

    O mapeamento de usuário x banco de dados esta correto?

    Aparentemente esta ocorrendo algum conflito entre usuário e login vinculado ao banco de dados!!!


    Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 17 de abril de 2015 14:26
    Moderador