LINKED SERVER é utilizado para realizarem consultas em outros servidores.
Essa "ponte" de comunicação é possível entre fontes OLE BD, como Excel, Acces,
servidores SQL Server e até servidores como outro SGBDs como Oracle, Mysql, Sybase.
As principais vantagens de se utilizar Linked Server é a facilidade de executar consultas
distribuídas, comandos de atualizações que envolvem diversas bases em servidores diferentes.
SIMULANDO LINKED SERVER
Para simular o Linked Server em ação, será necessário no minimo duas instâncias,
onde elas podem estar ou não no mesmo servidor. Vamos criar un banco de dados e uma
tabela, a qual será utilizada para realizar consultas e manipulação através do
Linked Server.
--Verificando se existe LINKED SERVER NO BD
SELECT *FROM sys.servers
A instancia SERVER1 conterá o banco de dados DB_LK, que será acessado pela instancia
SERVER2
Configuration Manager Pipes Nomeado e TCP/IP -> Habilitados
Configurações Firewall -> Portas 1433, 1434 -> Liberadas, Regras.
Conexão Remota na Instancia -> Permitir
Conexão entre as redes -> Funcionando
--Verificando se exeiste LINKED SERVER NO BD
SELECT * FROM sys.servers
--CRIANDO LINKED SERVER
EXEC sp_addlinkedserver
@server = 'INFINITY', --servidor/IP infinity
@srvproduct = '',
@provider = 'SQLNCLI',
@datasrc = 'INFINITY\SQLEXPRESS2'--data serce 'instancia sqlexpress2
--Gerando usuário do LINKED SERVER
EXEC sp_addlinkedsrvlogin
@rmtsrvname = 'INFINITY'
@useself = 'true',
@locallogin = 'INFINITY\andre',
@rmtuser = NULL,
@rmtpassword = 'SUA SENHA'.. --senha remota do computador
--Selecionando dados através do LINKED SERVER
SELECT *FROM INFINITY.TESTE_LINK.dbo.PESSOAS --nomedoprovedor.nomedoBD.dbo.nomedaTabela
--ATUALIZANDO DADOS ATRAVES DO LINKED SERVER
UPDATE INFINITY.TESTE_LINK.dbo.PESSOAS SET NOME = 'TESTE UPADATE' WHWRE ID = 5
--Inserindo dados atraves do LINKED SERVER
INSERT INTO INFINITY.TESTE_LINK.dbo.PESSOAS (NOME) VALUES ('JACK')