Treinamento SQL Server

Módulo 35 — Linked Servers & PolyBase (Integração de Dados)

Acessando fontes externas via 4-part names, OPENQUERY e External Tables.

T-SQL Nível Avançado Hands-on Atualizado: 28 ago 2025

1) Linked Servers (sp_addlinkedserver)

EXEC sp_addlinkedserver @server=N'ORCL', @srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'//host:1521/ORCL';

2) OPENQUERY vs 4-Part Names

SELECT * FROM OPENQUERY(ORCL, 'SELECT * FROM SCHEMA.TABELA');
SELECT * FROM ORCL..SCHEMA.TABELA; -- 4-part (pode puxar muito dado)

3) Segurança & Impersonation

EXEC sp_addlinkedsrvlogin @rmtsrvname=N'ORCL', @useself='FALSE', @locallogin=NULL, @rmtuser=N'app', @rmtpassword='***';

4) PolyBase: External Data Source

CREATE EXTERNAL DATA SOURCE ds_blob WITH (TYPE = BLOB_STORAGE, LOCATION='https://conta.blob.core.windows.net/dados', CREDENTIAL=creds);

5) External Tables & Pushdown

CREATE EXTERNAL TABLE dbo.ExtVendas(... ) WITH (DATA_SOURCE=ds_blob, LOCATION='/2025/', FILE_FORMAT=...);

6) Performance & Limitações

7) Laboratório

-- Criar linked server para um SQL remoto e consultar via OPENQUERY.

8) Exercícios

  1. Comparar tempo 4-part vs OPENQUERY com filtro.

9) Gabarito

-- OPENQUERY geralmente traz menos dados.

10) Boas Práticas

11) Próximos Passos