Atualmente os ambiente informatizados que necessitam de redes se tornam cada vez mais importantes, podemos ter a certeza que diversas áreas de T.I como desenvolvimento, infraestrutura e banco de dados não vivem sem essa estrutura, no caso em questão é grande necessidade de trabalhar com mais de uma base de dados, onde muitas das empresas não operam com menos de dois ou três servidores.

Para iniciar a trabalhar com dados distribuídos é necessário primeiramente configurar os servidores vinculados. Os servidores vinculados dependem de provedores OLE DB para se comunicar entre as instâncias do SQL Server e outras bases de dados.


Para que serve servidores vinculados?

É usado para manipular consultas distribuídas, chamadas de procedimento armazenado remoto (remotestored procedure) e replicação, basicamente consultas e transações distribuídas utilizam duas ou mais instâncias de servidor de banco de dados.

Antes de iniciar o processo de servidores vinculados, vou falar um pouco do ambiente em que estarei trabalhando, no meu caso, usarei três maquinas virtuais:

1 - uma maquina com Windows Server 2003 apenas para controle do Active Directory. (SRV01)

2 - uma maquina com Windows Server 2003 com o Microsoft SQL Server 2008 R2 edição Developer. (SRV02\SQL)

3 - uma maquina com Windows XP com o SQL Server 2008 R2 edição Express. (CLI01\SQLEXPRESS)

Adicionado servidores vinculados

Este processo será feito na maquina virtual de nome SRV02.

Como já foi dito antes, para utilizar consultas distribuídas, transações distribuídas ou execução de comando remota, é necessário configurar conexões de servidores vinculados com outros servidores.

No nosso caso vamos usar dois servidores vinculados, mostrarei com alguns exemplos, como adicionar servidores vinculados em duas maquinas e em seguida utilizar o código T-SQL para as consultas em outras instâncias.

Primeiramente abre o Microsoft SQL Server Management Studio, conecte-se na instância do servidor, no modo de exibição OBJECT EXPLORER, em seguida expanda a pasta SERVER OBJECTS, na pasta LINKED SERVER, clique com o botão direito do mouse e confirme NEW LINKED SERVER, como mostra a figura 1:

Janela OBJECT EXPLORER no SQL Server Management Studio

Figura 1.Janela OBJECT EXPLORER no SQL Server Management Studio.

Logo apos o passo anterior aparecerá uma janela com o nome de NEW LINKED SERVER, como mostra a figura 2:

Janela NEW LINKED SERVER, na opção GENERAL

Figura 2. Janela NEW LINKED SERVER, na opção GENERAL.

Opção GENERAL

Como iremos trabalhar apenas com o SQL Server, marque a opção com o mesmo nome, na opção LINKED SERVER digite o nome da instância do SQL SERVER que deseja vincular.

Opção SECURITY

Nesta opção deve-se ter muita atenção com as quatro configurações:

  • Not Be Made: os usuários sem logins não podem acessar o servidor vinculado.
  • Be Made Without Using A Security Context: Bloqueia o acesso a todos os logins não mapeados explicitamente no servidor vinculado.
  • Be Made Using The Login´sCurrent Security Context: usa o login e senhas atuais para se conectar no servidor vinculado.
  • Be Made Using This Security Context: os logins não mapeados explicitamente usarão o login e a senha fornecidos nas caixas de texto REMOTE LOGIN e WITH PASSWORD.

Depois dessas informações vamos prosseguir, vamos usar a seguinte opção: Be Made Using The Login´s Current Security Context, por uma questão de praticidade, como mostra a figura 3:

Janela NEW LINKED SERVER, na opção SECURITY

Figura 3.Janela NEW LINKED SERVER, na opção SECURITY.

Não iremos detalhar a opção SERVER OPTIONS (opções de servidor), depois de seguir esses passos, clique em OK, pronto o Linked Server foi adicionado, para confirmar se deu certo, veja no OBJECT EXPLORER, expanda a pasta SERVER OBJECTS e também a pasta LINKED SERVER, como mostra a figura 4:

Janela do Management Studio com Linked Server adicionado

Figura 4. Janela do Management Studio com Linked Server adicionado.

Depois de adicionar o Linked Server, vamos criar um banco de dados e fazer algumas SELEÇÕES (Select), vamos utilizar a outra maquina virtual de nome CLI01.

Agora utilizando a outra maquina virtual, insira os seguintes códigos e execute:

Listagem 1. Criação do banco de dados.



CREATE DATABASE EXEMPLO
GO

Listagem 2. Entrar no contexto do banco criado



USE EXEMPLO
GO

Listagem 3. Criando a tabela.



CREATE TABLE CLIENTE (
	CODIGO_CLIENTE SMALLINT NOT NULL,
	NOME_CLIENTE VARCHAR (30) NOT NULL
)
GO

Listagem 4. Inserindo dados na tabela.



INSERT INTO CLIENTE VALUES
	(1, 'FULANO'), (2, 'SICRANO'),
	(3, 'BELTRANO'), (4, 'ALGUEM') 
GO

Depois de executar esses códigos na maquina virtual CLI01, voltaremos a usar maquina virtual SRV02 para executar o comando SELECT para finalizar de forma simples, abaixo segue o código a ser executado na maquina informada:

Listagem 5. Usando um select na maquina SRV02 consultando na maquina CLI01



SELECT * FROM [CLI01\SQLExpress].EXEMPLO.dbo.CLIENTE

Veja abaixo o resultado do comando, lembrando que pode demorar, pois o SELECT passa pela rede.Figura 5:

Janela do Management Studio com o resultado

Figura 5. Janela do Management Studio com o resultado.

Com isso finalizo mais um artigo, espero que gostem e até o próximo.