top of page
Foto do escritorAmanda Nascimento

Linkedserver - SQL SERVER

Atualizado: 30 de nov.


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.


Após ter criado os servidores, no servidor principal, que neste exemplo é chamado de DEKSTOP..., habilite o linkedserver abrindo uma consulta e digite o script abaixo, alterando o nome de acordo com o nome do seu servidor.



EXEC sp_addlinkedserver

@server = 'LinkedServer2', -- Nome do Linked Server

@srvproduct = '',

@provider = 'SQLNCLI', -- Provedor OLE DB

@datasrc = 'localhost'; -- Nome/instância do segundo servidor

GO



EXEC sp_addlinkedsrvlogin

@rmtsrvname = 'LinkedServer2',

@useself = 'true', -- Reutilizar as credenciais do Windows

@locallogin = NULL; -- Usar o login atual do Windows

GO

OU utilize o usuário e senha:


EXEC sp_addlinkedsrvlogin

@rmtsrvname = 'LinkedServer2',

@useself = 'false',

@locallogin = NULL,

@rmtuser = 'usuario', -- Substitua pelo usuário do segundo servidor

@rmtpassword = 'senha'; -- Substitua pela senha do usuário

GO



Para saber seu usuário windows, pressione windows + r, cmd, whoami e pressione enter.


identificar usuários:


USE [ouv_uni]; -- Substitua pelo nome do seu banco de dados

GO


-- Verificar o login associado ao banco de dados

SELECT name, type_desc FROM sys.database_principals WHERE type IN ('S', 'U');



📌Linkedserver – Consulta


SELECT * FROM sys.servers WHERE is_linked = 1


Sendo que = 1 significa ativo






📌Linkedserver - Criar


EXEC sp_addlinkedserver

@server='ARMG317', --NomeDoLinkedServer

@srvproduct='SQL Server',

@provider='SQLNCLI', -- NomeDoProvider

@datasrc='ARMG317'; -- NomeDoServidor



📌 Linkedserver 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;



📌 Linkedserver - Deletar


EXEC sp_dropserver 'NomeDoLinkedServer', 'droplogins';




📌 Linkedserver- Identificar tabelas de outro servidor


SELECT * FROM ARMG317.DM_RH.sys.tables;


SELECT * FROM NomeDoLinkedServer.NomeDoBancoDeDadosRemoto.sys.tables;





➡️ Conectando...


Depois de ter criado o linked server para utilizar a tabela nas consultas, utilize:


[NomeDoServidorRemoto].[NomeDoBancoDeDados].[Esquema].[nometabela]


Exemplo prático:

from [ARMG317].[DM_RH].[Dbo].[tbDocenteAutonomo]

bottom of page