none
Acesso Linked Server RRS feed

  • Pergunta

  • Bom dia galera....

    Estou com uma situação interessante...tenho um usuário sql que disponibilizei acesso somente em algumas colunas de determinadas tabelas...só que agora preciso que ele tenha acesso com esse mesmo usuário a um linked server que tenho configurado, afim de que ele possa acessar uma view que possuo. como disponibilizo acesso ao linked server meu para esse usuário??


    Rombesso
    • Movido Gustavo Maia Aguiar quinta-feira, 10 de fevereiro de 2011 13:59 (De:SQL Server - Desenvolvimento Geral)
    quinta-feira, 10 de fevereiro de 2011 13:21

Respostas

Todas as Respostas

  • Edgar,

     

    Veja se o link abaixo o ajuda:

    http://social.msdn.microsoft.com/Forums/en/sqlsecurity/thread/cf473e47-9191-4af2-af88-f4947537c9eb


    ---------------------------------------------- Para dicas SQL Server e mais -> www.onlywhatmatters.wordpress.com
    • Marcado como Resposta Edgar Rombesso quarta-feira, 23 de fevereiro de 2011 13:39
    quinta-feira, 10 de fevereiro de 2011 14:07
    Moderador
  • Caputofa....vlw mas não ajuda...queria saber como consigo dar acesso de select a um usuario especifico em um linked server...
    Rombesso
    quinta-feira, 10 de fevereiro de 2011 15:00
  • Edgar,

     

    Como o linked server funciona? ele utiliza um usuario definido na criação da mesma para acessar outro servidor, então, o que voce deve fazer é, dar permissão a tabela do servidor destino para o usuario utilizando no linked server, consegui me expressar?....como se fosse um grant local, mas ao utilizar o linked server, ele tera essas permissoes...


    ---------------------------------------------- Para dicas SQL Server e mais -> www.onlywhatmatters.wordpress.com
    quinta-feira, 10 de fevereiro de 2011 15:18
    Moderador
  • Então..o usuário utilizado no linked server do servidor B é diferente do usuário utilizado no linked server do servidor A...assim....no servidor B tenho o usuario teste para acessar o servidor C via linked server....ainda no servidor B criei o usuario CPD e restringi o acesso a somente algumas colunas de determinadas tabelas. No servidor A o linked server esta configurado com esse usuario CPD para acessar os banco de dados do servidor B. como o servidor A esta criando uma query que utiliza o linked server para obter informações da base de dados do servidor B ele tem esse linked server....mas ele também obtem informações do servidor C, ou seja, de 2 fontes para montar uma view....para simplificar então ele estaria fazendo a busca somente em um lugar, ou seja, o servidor B com informações oriundas do servidor C e B ao mesmo tempo...sendo que o C é linked server do B. Muito complexo????
    Rombesso
    quinta-feira, 10 de fevereiro de 2011 16:36
  • rs!...Edgar, muito complexo!...

    mas dxo ve se entendi:

    Voce tem servidores A B e C

    Linked Server de A para B utiliza o usuario CPD?

     

    Voce quer fazer algo como uma corrente de linked server? A query via linked server numa view em B que essa ja faz query via linked server em C?

    Claro que estando no servidor B, voce esta atrinbuindo algumas coisas do proprio servidor B, uma vez que seria descenessario criar toda essa cadeia correto?


    ---------------------------------------------- Para dicas SQL Server e mais -> www.onlywhatmatters.wordpress.com
    quinta-feira, 10 de fevereiro de 2011 16:59
    Moderador
  • isso...exatamente...entendeu corretamente...exatamente...o usuario cpd é usuario sql do servidor B....e que é utilizado para linked server do servidor A para B....e do servidor B para C é usado o usuario teste no linked server...

    no usuário CPD foi atribuido acesso dentro do servidor B....e o usuario teste do linked para o servidor C já é configurado no proprio servidor C....assim, quero fazer exatamente isso..uma corrente de linked server...a query executada no servidor A vai receber informações do servidor B e C....ao invés de eu ter que fazer uma query para pegar informações do servidor B e outra para o Servidor C e depois outra para juntar essas informações....entendeu? usando uma só que pegue do B e C ao mesmo tempo me resolve....


    Rombesso
    quinta-feira, 10 de fevereiro de 2011 17:21
  • por exemplo...utilizei no usuario CPD o GRANT SELECT para deixar ele ver apenas uma coluna de determinada tabela....agora queria permitir também que ele tivesse acesso ao linked server...acho que é simples...talvez esteja errando na sintaxe...
    Rombesso
    quinta-feira, 10 de fevereiro de 2011 17:22
  • Edgar, por que não tenta algo assim:

     

    No Servidor B, crei o linked server (Feito), crie uma view em cima deste linked server para o usuario CPD, ai, quando voce for pesquisar via linked server do servidor A, voce pesquisa a view direto, que por traz dela ja era rodar o linked servers sem complicações.... creio que ficara até mais facil para seu controle...


    ---------------------------------------------- Para dicas SQL Server e mais -> www.onlywhatmatters.wordpress.com
    sexta-feira, 11 de fevereiro de 2011 10:11
    Moderador
  • vou tentar essa solução sua Caputofa...se for interessante te aviso...mas o servidor A já faz pesquisas no B via view..e o B faz pesquisas no C via view...e o que eu queria era que o servidor A ao fazer pesquisa no B já trouxesse o resultado do C também... ou seja...1 único código ao invés de 3...
    Rombesso
    sexta-feira, 11 de fevereiro de 2011 11:16
  • Edgar, não consigo pensar em uma solução pelo seguinte motivo:

    Quando voce usa um linked server, não é como se fosse uma base

    Exemplificando:

    BASE -> USE BASE, a partir dai, todo que for feito, sera feito nessa base

    No linked server, voce da um select comum, passando mais um parametro no FROM, que é onde ele ira buscar essa informações, voce poderia fazer um teste passando uma subquery dentro do select rodando no A, usando LINKED SERVER para o B, e essa subquery conter o linked server para C...

     

    Deu para entender ou ficou confuso?...


    ---------------------------------------------- Para dicas SQL Server e mais -> www.onlywhatmatters.wordpress.com
    sexta-feira, 11 de fevereiro de 2011 12:34
    Moderador
  • Então Caputofa....agora vc entendeu...o que quero é exatamente isso...uma subquery...mas a questão é como fazer isso via linked server para linked server para linked server....seria sintaxe...isso que eu queria exatamente....
    Rombesso
    sexta-feira, 11 de fevereiro de 2011 13:13
  • Realmente não funcionou...tive que usar 2 queries de origens diferentes e montar uma terceira com o resultado delas...
    Rombesso
    • Marcado como Resposta Edgar Rombesso quarta-feira, 23 de fevereiro de 2011 13:39
    quarta-feira, 23 de fevereiro de 2011 13:38