Banco de Dados - SQL Server

Trabalhando com Linked Server no SQL Server 2005

Este artigo mostra a simplicidade de como é para configurar um linked server no sql server 2005. Mostra também como utilizar a stored procedure 'sp_addlinkedserver' e também passos para realizar a configuração através do SSMS (SQL Server Management Studio).

por Marcos Leandro Rosa



O conceito de linked Server é extremamente simples, eu diria que é mais simples que o próprio nome. Quando se fala em link, a primeira coisa que vem a cabeça é toda aquela configuração de certificados, caminhos, portas etc. Mas na verdade linked Server é um conceito simples e muito funcional quando queremos consultar dados que estão em outras instâncias ou até mesmo em outros tipos de base de dados como o ORACLE, ACCESS etc.

Para realizar a configuração com o outro banco de dados você precisa saber qual o OLE DB provider que realiza a conexão com o banco de dados esperado.

Neste tutorial você aprenderá a conectar-se com uma base de dados em Access, pois é a mais simples e que não é tão diferente de todas as outras possíveis conexões;

Para início, veja o que você está preste a desenvolver:

Vamos criar uma base de dados em Access com os seguintes campos:

MultiA como Inteiro

MultiB como Inteiro

Resultado como Inteiro

Depois será criado um linked Server no SQL Server 2005 com a base de dados Access que acabou de ser criada. Criaremos também uma rotina para abastecer nossa tabela do Access, mas de dentro do SQL Server 2005, a idéia dos dados que entrarão na tabela é de que a estrutura final fique igual a de uma tabuada.

Então vamos trabalhar;

Abra um novo banco de dados Access no caminho ”C:\databases\linked_servers\” com o nome “linkedserver.mdbe crie a tabela na estrutura da figura (1.0):

Fig 1.0

Salve a tabela com o nome “tbexemplo” e feche o banco de dados.

Vamos para o SSMS (SQL Server Management Studio); Agora temos dois caminhos que podemos seguir para a criação do linked Server; Podemos criar totalmente pelo assistente do SSMS ou podemos criar um script bem simples para criar o linked Server. Mas já que neste tutorial serão implementadas algumas linhas de código vamos criar o script, depois coloco um extra no fim do tutorial demonstrando como fazer o linked Server tudo pela interface do SSMS.

No SQL Server 2005 abra um novo documento de script e digite o código abaixo:

-- Cria o link com a base de dados em ACCESS

EXECUTE sp_addlinkedserver "exemplo", "OLE DB Provider for Jet",

"Microsoft.Jet.OLEDB.4.0",C:\databases\linked_servers\linkedserver.mdb"

Este primeiro código é o que cria o linked server. – Verdade, parece brincadeira, mas seu linked server já está pronto. Viu só! – Falei que era super simples. Bom agora vamos adiante com o código que preenche a tabela com uma tabuada do 1 ao 10.

-- Preenche a tabela da base ACCESS

DECLARE @j as int

DECLARE @i as int

set @i = 1

set @J = 1

WHILE (@j <= 10)

  BEGIN

    set @i = 0

    WHILE (@i < 10)

      BEGIN

            SET @i = @i + 1

            INSERT INTO exemplo...tbexemplo VALUES(@j ,@i, @j * @i)

      END

     SET @j = @j + 1

   END

Bom, agora a tabela já está abastecida, após rodar o código acima, verifique se a mensagem (1 row(s) affected) foi escrita várias vezes no console de mensgens.

Bom, agora já podemos realizar um SELECT na tabela que está dentro da base de dados Access, mas de dentro da nossa instância no SQL Server 2005 (Apesar de já termos acessado-a quando inserirmos os dados do código acima).

Observe que para acessar a tabela, devemos colocar o nome especificado. Veja o código a seguir:

SELECT * FROM exemplo...tbexemplo

Os três pontos sempre devem existir quando estamos consultando uma tabela externa com o linked server.

Prontinho, agora você já sabe como criar um linked server da maneira mais simples que existe.

Caso você queira configurar um linked server utilizando somente as interfaces do SSMS, veja o conteúdo abaixo:

 Clique com o botão direito sobre “LINKED SERVERS” e clique em “New Linked Server...”


Ao clicar, uma tela idêntica a da figura 1.2 será mostrada, configure-a da maneira em que a figura está demonstrando:

Clique em OK, e está pronto o linked Server, agora basta abrir um novo script para testar se está funcionando.

SELECT * FROM EXEMPLO...tbexemplo

Espero ter ajudado um pouco, logo mais enviarei outros tutoriais.

Espero que me enviem um feedback dizendo no que posso melhorar, comentem para o e-mail marcosfac@gmail.com

Obrigado Pela Oportunidade Pessoal!

Marcos Leandro Rosa

Marcos Leandro Rosa