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 RosaO 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.mdb” e 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!
- Representando dados em XML no SQL ServerSQL Server
- Diferenças entre SEQUENCES x IDENTITY no Microsoft SQL Server 2012SQL
- Utilizando FILETABLE no SQL Server 2012SQL Server
- NHibernate com o Delphi Prism: Acessando um Banco de Dados SQL ServerVisual Studio
- Novidades no SQL Server Codinome DenaliSQL Server