(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como criar uma VIEW no Synapse Serverless: passo a passo

João Barros 07 de July de 2026 4 min de leitura

Criar uma VIEW no serverless SQL pool do Azure Synapse é a forma mais simples de dar um nome amigável a uma consulta sobre ficheiros guardados no Data Lake. Uma vista é apenas uma consulta guardada: em vez de repetires sempre o caminho do storage e a função OPENROWSET, escreves a lógica uma única vez e passas a consultá-la como se fosse uma tabela normal. Isto reduz erros, uniformiza os nomes das colunas e facilita a vida a toda a equipa que precisa dos dados.

Pré-requisitos

  • Um workspace do Azure Synapse Analytics com acesso ao Synapse Studio.
  • Uma conta de armazenamento ADLS Gen2 com, pelo menos, um ficheiro Parquet ou CSV (por exemplo, vendas.parquet).
  • A permissão Storage Blob Data Reader sobre o contentor, para o teu utilizador conseguir ler os ficheiros.
  • Conhecimentos básicos de SQL (SELECT, FROM e GROUP BY).

Passo 1: Abrir um script SQL no serverless

No Synapse Studio, abre o separador Develop, clica no botão + e escolhe SQL script. No topo do editor, no campo Connect to, seleciona Built-in. Este é o endpoint serverless: não precisas de provisionar nem ligar nada, e só pagas pela quantidade de dados que cada consulta processa. É ideal para explorar ficheiros no Data Lake sem manter infraestrutura ativa.

Passo 2: Criar uma base de dados própria

Não é possível criar vistas na base de dados master do serverless. Por isso, cria primeiro uma base de dados dedicada aos teus objetos. Executa o comando abaixo e, depois, muda o seletor de base de dados (ao lado de Connect to) para AnaliseVendas, para que os próximos comandos corram no sítio certo.

CREATE DATABASE AnaliseVendas;

Passo 3: Testar a consulta com OPENROWSET

Antes de criar a vista, confirma que consegues mesmo ler o ficheiro. A função OPENROWSET lê dados diretamente do Data Lake sem precisares de os carregar para nenhuma tabela. O BULK indica o caminho e o * funciona como wildcard para ler vários ficheiros de uma vez. Substitui o URL pelo endereço da tua conta e contentor.

SELECT TOP 100 *
FROM OPENROWSET(
    BULK 'https://aminhaconta.dfs.core.windows.net/dados/vendas/*.parquet',
    FORMAT = 'PARQUET'
) AS linhas;

Se aparecerem linhas, o acesso está a funcionar. Se receberes um erro de permissões, revê a atribuição Storage Blob Data Reader do passo anterior — é a causa mais comum.

Dica: com ficheiros CSV, acrescenta PARSER_VERSION = '2.0' e, se a primeira linha tiver cabeçalhos, HEADER_ROW = TRUE dentro do OPENROWSET.

Passo 4: Criar a VIEW

Com a consulta validada, encapsula-a numa vista. O comando CREATE VIEW guarda a definição na base de dados. Nomear as colunas de forma explícita é uma boa prática: torna a vista estável e previsível, mesmo que a ordem das colunas no ficheiro mude no futuro.

CREATE VIEW dbo.vVendas AS
SELECT
    linhas.Data,
    linhas.Produto,
    linhas.Quantidade,
    linhas.Total
FROM OPENROWSET(
    BULK 'https://aminhaconta.dfs.core.windows.net/dados/vendas/*.parquet',
    FORMAT = 'PARQUET'
) AS linhas;

Repara que dentro de uma vista não faz sentido usar TOP nem ORDER BY desnecessários: a vista deve devolver o conjunto completo e deixar a filtragem e a ordenação para quem a consulta.

Passo 5: Consultar a vista

A partir de agora, qualquer pessoa com acesso à base de dados pode consultar os dados sem saber onde estão os ficheiros nem como se chama o contentor:

SELECT Produto, SUM(Total) AS TotalVendido
FROM dbo.vVendas
GROUP BY Produto
ORDER BY TotalVendido DESC;

O caminho do storage fica escondido dentro da vista. Se amanhã mudares a localização dos ficheiros, basta alterar a vista uma vez e todas as consultas continuam a funcionar.

Verificar o resultado

Para confirmar que a vista foi criada com sucesso, consulta o catálogo do sistema:

SELECT name, create_date
FROM sys.views
WHERE name = 'vVendas';

Se a linha aparecer e o SELECT do Passo 5 devolver os totais por produto, está tudo correto. Como validação extra, compara o número de linhas da vista (SELECT COUNT(*) FROM dbo.vVendas) com o que esperavas dos ficheiros de origem.

Conclusão

Com uma VIEW no serverless SQL pool transformaste ficheiros dispersos no Data Lake numa interface simples, reutilizável e fácil de partilhar. É a base para camadas de dados mais organizadas e para dar acesso à equipa sem expor caminhos técnicos. O próximo passo natural é criar vistas sobre dados particionados com a função filepath(), ou definir tipos de dados com a cláusula WITH no OPENROWSET. Que consulta repetes no teu dia-a-dia que ganharia em tornar-se uma vista?