locked
Criando Linked Server entre Sql Server 2005 para 2000 RRS feed

  • Pergunta

  • Por Favor, me ajudem!

     

      Estou tentando criar um Linked Server do meu banco local (Sql Server 2005) para o banco externo (Sql Server 2000). Alguem sabe me dizer como eu faço para criar esse linked server. Por favor me ajudem!

    quinta-feira, 6 de dezembro de 2007 12:46

Respostas

  •  

    Olá Bruno,

     

    No 2005 vc não precisa mais desta configuração de remote server. Apenas crie o linked server para seu servidor de destino e faça os testes...tudo deverá funcionar.

     

    Qualquer dúvida consulte a documemntação do SQL Server 2005 e procure por remote servers. Vc verá algo como isso..

     

    "Remote servers are supported in SQL Server 2005 for backward compatibility only. New applications should use linked servers instead. For more information, see Linking Servers."

     

    O exemplo abaixo mostra como vc pode criar um linked server entre servidores SQL SErver. Neste caso o nome do servidor destino e o nome do linked server será o mesmo

     

    USE master;
    GO
    EXEC sp_addlinkedserver
       'SRVSQL01',
       N'SQL Server'
    GO

     

    TESTE do Linked Server:

     

    SELECT * SRVSQL01.from master.dbo.sysprocesses

     

    O exemplo abaixo cria um linked server de nome para uma outra instância nomeada do SQL SErver

     

    EXEC sp_addlinkedserver  
       @server='SRVSQLINSTA',
       @srvproduct='',
       @provider='SQLNCLI',
       @datasrc='SRVSQL01\A'

     

    um abraço

    Nilton Pinheiro

    www.mcdbabrasil.com.br

     

    domingo, 30 de março de 2008 23:41
    Moderador

Todas as Respostas

  • Anderson,

     

    1) Entre no Managment Studio do seu SQL Server 2005.

    Dentro de Server Objects tem Linked Server.

     

    2) Clique com o botão direito e New linked Server

     

    3) Coloque o nome do Servidor que vc deseja conectar, no caso SQL Server 2000. Não esqueça de mudar a opção Server Type para SQL Server.

     

    4) Na opção Security, especifique o critério de confiança entre um SQL Server e outro.
    clicando no botão ADD, você mapeia o seu login Local (do SQL Server 2005) com o login e senha do Servidor Remoto (SQL 2000). A opção Impersonate só funciona quando os dois usuários são os mesmos (user de Domínio).

     

    Estabelecida a relação de confiança entre os dois servidores, verifique se no Linked Server criado, você consegue ver os banco de dados disponíveis.

     

    quinta-feira, 6 de dezembro de 2007 14:27
  •  

    Olá Robson,

     

    Para fazer o linked server funcionar, antes disso voce tem que criar um Remote Server, que o  próprio nome da máquina. No SQL 2000 eu consigo fazer funcionar normalmente, mas no 2005, eu até crio o Linked Server, mas eu não achei aonde está o Remote Server, voce sabe se essa configuração mudou no 2005 ?

     

     

    Grato

     

     

    Bruno

    quinta-feira, 27 de março de 2008 18:03
  •  

    Olá Bruno,

     

    No 2005 vc não precisa mais desta configuração de remote server. Apenas crie o linked server para seu servidor de destino e faça os testes...tudo deverá funcionar.

     

    Qualquer dúvida consulte a documemntação do SQL Server 2005 e procure por remote servers. Vc verá algo como isso..

     

    "Remote servers are supported in SQL Server 2005 for backward compatibility only. New applications should use linked servers instead. For more information, see Linking Servers."

     

    O exemplo abaixo mostra como vc pode criar um linked server entre servidores SQL SErver. Neste caso o nome do servidor destino e o nome do linked server será o mesmo

     

    USE master;
    GO
    EXEC sp_addlinkedserver
       'SRVSQL01',
       N'SQL Server'
    GO

     

    TESTE do Linked Server:

     

    SELECT * SRVSQL01.from master.dbo.sysprocesses

     

    O exemplo abaixo cria um linked server de nome para uma outra instância nomeada do SQL SErver

     

    EXEC sp_addlinkedserver  
       @server='SRVSQLINSTA',
       @srvproduct='',
       @provider='SQLNCLI',
       @datasrc='SRVSQL01\A'

     

    um abraço

    Nilton Pinheiro

    www.mcdbabrasil.com.br

     

    domingo, 30 de março de 2008 23:41
    Moderador
  • Olá Nilton,

     

    Muito obrigado, já consegui fazer funcionar, inclusive o contrário, do 2000 para o 2005.

     

    Abcs

     

    Bruno

     

    segunda-feira, 31 de março de 2008 14:44
  • Maravilha Bruno...qualquer coisa estamos aí..

     

    abraços

    Nilton Pinheiro

    www.mcdbabrasil.com.br

     

    terça-feira, 1 de abril de 2008 02:52
    Moderador
  •  

    Alguem pode me dar uma força ai, to com dificuldade em fazer um acesso ao servidor linkado, fiz como foi dito ai

     

    linkei os servers X (2000)  Y (2005)

     

    Porem tenho essa mensagem ao tentar fazer uma consulta

     

    select * from

    SERVERX.SERVERX.GESTAO.PROCESSO

     

    The OLE DB provider "SQLNCLI" for linked server "SERVERX" does not contain the table ""SERVERX"."GESTAO"."PROCESSO"". The table either does not exist or the current user does not have permissions on that table.

     

    Se eu rodar dessa forma

     

    select * from

    SERVERX.GESTAO.PROCESSO

     

    eu tenho essa mensagem de erro

    Invalid object name 'X.Gestao.Processo'

     

     

     

     

    sexta-feira, 21 de novembro de 2008 15:02
  • Olá Maxlei,

    A sintaxe correta para a consulta de uma tabela do "linked server" é a seguinte:
    linked_server_name.catalog.schema.object_name

    Verifique no linked server o nome da base que foi criada.
    Se o nome da base for "default", tente executar o select da seguinte forma.

    SELECT * FROM 
    [SRV_NAME]..[SCHEMA].[TABLE_NAME]

    Caso tenha alguma dúvida, segue um link do MSDN

    Abraços,

    Widmeyer Lisboa
    • Editado Widmeyer quarta-feira, 3 de março de 2010 15:25 links
    quarta-feira, 3 de março de 2010 15:23