none
View com tabelas de servidores diferentes RRS feed

  • Pergunta

  •  

    Pessoal,

     

    Preciso criar view que busquem dados de tabelas de servidores diferentes. Seguem 2 exemplos:

     

    View 1: ler duas tabelas de um servidor sql 2000

     

    View 2: ler uma tabela de um servidor sql  2005.

     

    Eu estou em um servidor sql 2005.

     

    Obrigado pela ajuda,

    terça-feira, 23 de dezembro de 2008 12:59

Respostas

  • Bom Dia,

     

    Basta que você utilizar o nome completo do objeto. Ex:

     

    CREATE VIEW vw AS

    SELECT Servidor1.Banco.OwnerOuSchema.Tabela

    <UNION ou JOIN>

    SELECT Servidor2.Banco.OwnerOuSchema.Tabela

     

    Para que essa View funcione, você terá que criar um Linked Server do Servidor 2005 para o servidor 2000. Ex:

     

    - Abra o SQL Server Management Studio
    - Vá em Server Objects, Linked Server, New Linked Server
    - Marque o Server Type como SQL Server
    - Digite o nome do Servidor SQL 2000 na text box Linked Server
    - Na guia Security, preencha o local login utilizado para logar no SQL Server 2005 e digite o remote user e a senha válidos no SQL Server 2000

    Se forem muito logins, você pode considerar definir um login e senha fixo usando a opção Be made using this security context.

     

    Ou se preferir, terá que trabalhar com Stored Procedures dinâmicas (talvez não seja o caso). Maiores detalhes em:

     

    Algumas dicas para consultar e atualizar dados através de Linked Servers
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!203.entry

     

    [ ]s,

     

    Gustavo

    terça-feira, 23 de dezembro de 2008 13:09

Todas as Respostas

  • Bom Dia,

     

    Basta que você utilizar o nome completo do objeto. Ex:

     

    CREATE VIEW vw AS

    SELECT Servidor1.Banco.OwnerOuSchema.Tabela

    <UNION ou JOIN>

    SELECT Servidor2.Banco.OwnerOuSchema.Tabela

     

    Para que essa View funcione, você terá que criar um Linked Server do Servidor 2005 para o servidor 2000. Ex:

     

    - Abra o SQL Server Management Studio
    - Vá em Server Objects, Linked Server, New Linked Server
    - Marque o Server Type como SQL Server
    - Digite o nome do Servidor SQL 2000 na text box Linked Server
    - Na guia Security, preencha o local login utilizado para logar no SQL Server 2005 e digite o remote user e a senha válidos no SQL Server 2000

    Se forem muito logins, você pode considerar definir um login e senha fixo usando a opção Be made using this security context.

     

    Ou se preferir, terá que trabalhar com Stored Procedures dinâmicas (talvez não seja o caso). Maiores detalhes em:

     

    Algumas dicas para consultar e atualizar dados através de Linked Servers
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!203.entry

     

    [ ]s,

     

    Gustavo

    terça-feira, 23 de dezembro de 2008 13:09
  •  

    Obrigado Gustavo.
    terça-feira, 23 de dezembro de 2008 13:13