Tutorial: Integrando o SSIS ao Fabric Data Warehouse

Aplica-se a:SQL Server SSIS Integration Runtime em Azure Data Factory

Este artigo foca-se nas melhores práticas para utilizar pacotes SSIS existentes para trabalhar com o Data Warehouse na plataforma Fabric.

Introdução

O Microsoft Fabric é uma plataforma de análise abrangente que cobre todos os aspetos do património de dados de uma organização. Uma de suas principais experiências é o Fabric Data Warehouse, que serve como uma solução SaaS simplificada para um armazém totalmente transacional. Ele armazena dados no OneLake usando um formato aberto chamado Delta Parquet, garantindo que os dados possam ser acessados por outras experiências dentro do Fabric e outros aplicativos cliente que se conectam usando drivers SQL.

Como plataforma de análise, o Microsoft Fabric suporta exclusivamente autenticação através do Microsoft Entra ID para utilizadores e principais de serviço (SPNs). Essa escolha deliberada garante segurança centralizada e baseada em identidade, alinhando-se com as práticas de segurança modernas. Portanto, a autenticação SQL e outros métodos de autenticação não são suportados no Fabric Data Warehouse dentro do ecossistema Fabric.

Integração com o Fabric Data Warehouse

Os Serviços de Integração Microsoft SQL Server (SSIS) são um componente da base de dados Microsoft SQL Server que é uma solução ETL. Muitos clientes empresariais utilizam amplamente o SSIS para realizar ETL local.

Para trabalhar perfeitamente com o Fabric Data Warehouse, precisa de fazer duas modificações chave ao seu pacote SSIS.

Autenticação

Se estiver a usar Autenticação SQL ou Autenticação Windows, reconfigure-o para usar ID do Microsoft Entra do Utilizador ou Nome Principal de Serviço (SPN). Se usar uma conta de utilizador, desative a autenticação multifator (MFA), porque o SSIS não suporta avisos pop-up. Também precisa dos respetivos condutores mencionados nas secções seguintes:

Para usar o gestor de ligação OLEDB:

Para usar ADO.NET gestor de ligações:

Ingestão de ficheiros

Deves usar o comando nativo COPY INTO T-SQL para inserir dados de forma eficiente no teu armazém no Microsoft Fabric. Substitua quaisquer operações DFT que atualmente dependam do Fast Insert Mode ou BCP IN scripts pela COPY INTO instrução usando Execute SQL Task.

SSIS gravando dados no Data Warehouse no Fabric

Em cenários ETL comuns, lê-se dados de diferentes fontes, como bases de dados transacionais, partilhas de ficheiros em rede, localizações locais ou de rede. Pode realizar passos de transformação e reescrever os dados num data warehouse designado, como um servidor SQL, pool dedicado Synapse ou qualquer outro armazenamento de dados compatível com SQL (como mostrado no diagrama seguinte).

Diagrama do armazém de dados ETL como destino.

Para fazer com que o mesmo pacote SSIS escreva no Fabric Data Warehouse, primeiro atualize a autenticação para a baseada em Microsoft Entra ID, caso ainda não esteja a ser utilizada. Em segundo lugar, prepare os dados temporariamente num ADLS Gen2. Depois passa o caminho para o comando COPY INTO em Executar Tarefa SQL.

O componente Destino de Arquivo Flexível permite que um pacote SSIS grave dados no Azure Data Lake Storage Gen2 (ADLS Gen2). Dentro da tarefa Fluxo de Dados, após o carregamento e a transformação, adicione um Destino de Arquivo Flexível, no qual você pode definir o nome e o local do arquivo de destino no ADLS Gen2.

Captura de ecrã do destino de ficheiro flexível parte 1.

Captura de ecrã do destino de ficheiro flexível parte 2.

Captura de ecrã do destino de ficheiro flexível parte 3.

Pode ingerir dados aterrados no Azure Data Lake Storage (ADLS) Gen2 para o Warehouse com a COPY instrução diretamente através do Execute SQL Task.

Por exemplo (substituir <storage_account>, <storage_account_key> e account_key por valores válidos):

COPY INTO table_name FROM 'https://<storage_account>.dfs.core.windows.net/<folder>/'
WITH (FILE_TYPE = 'CSV',
     CREDENTIAL = (IDENTITY = '<storage_account_key>',
                  SECRET = '<account_key>'),
     FIELDQUOTE = '"',
     FIELDTERMINATOR = ',',
     ROWTERMINATOR = '0x0A',
     ENCODING = 'UTF8'
);

Captura de ecrã de Executar Tarefa SQL.

Para obter instruções mais detalhadas, consulte Introduzir dados no seu armazém usando a instrução COPY.

Limitações

O Fabric Data Warehouse suporta um subconjunto de tipos de dados T-SQL e nem todos os comandos T-SQL são atualmente suportados. Os teus pacotes podem falhar devido a funcionalidades não suportadas. Para mais detalhes, verifique os Tipos de Dados no Warehouse e a área de superfície T-SQL no Fabric Data Warehouse.