Um linked server (ou servidor vinculado) no SQL Server é um servidor remoto que você pode acessar a partir do seu servidor local. Isso permite que você execute consultas que envolvem dados de ambos os servidores, como se estivesse trabalhando com um único banco de dados. O linked server é configurado para se conectar a um servidor remoto, e uma vez configurado, você pode acessar e consultar os dados desse servidor remoto diretamente do seu servidor local. Isso é útil em cenários onde você precisa acessar dados de diferentes fontes ou integrar dados de sistemas legados com um novo sistema, por exemplo.
📌Linkserver – Consulta
SELECT * FROM sys.servers WHERE is_linked = 1
Sendo que = 1 significa ativo
📌Linkserver - Criar
EXEC sp_addlinkedserver
@server='ARMG317', --NomeDoLinkedServer
@srvproduct='SQL Server',
@provider='SQLNCLI', -- NomeDoProvider
@datasrc='ARMG317'; -- NomeDoServidor
📌 Linkserver ativar ou inativar
Usando o procedimento armazenado sp_serveroption.
Ativar:
EXEC sp_serveroption 'NomeDoLinkedServer', 'rpc out', true;
EXEC sp_serveroption 'NomeDoLinkedServer', 'rpc', true;
Inativar:
EXEC sp_serveroption 'NomeDoLinkedServer', 'rpc out', false;
EXEC sp_serveroption 'NomeDoLinkedServer', 'rpc', false;
📌 Linkserver - Deletar
EXEC sp_dropserver 'NomeDoLinkedServer', 'droplogins';
📌 Linkserver- Identificar tabelas de outro servidor
SELECT * FROM ARMG317.DM_RH.sys.tables;
SELECT * FROM NomeDoLinkedServer.NomeDoBancoDeDadosRemoto.sys.tables;
➡️ Conectando...
Depois de ter criado o link server para utilizar a tabela nas consultas, utilize:
[NomeDoServidorRemoto].[NomeDoBancoDeDados].[Esquema].[nometabela]
Exemplo prático:
from [ARMG317].[DM_RH].[Dbo].[tbDocenteAutonomo]