Métodos de migração para SQL Server para Fabric Data Warehouse

Aplica-se para:✅ Armazém no Microsoft Fabric

Este artigo descreve métodos para migrar armazéns de dados de SQL Server para Microsoft Fabric Data Warehouse.

Sugestão

Para mais informações sobre estratégia e planeamento, consulte Planeamento de migração: SQL Server a Fabric Data Warehouse.

Utilize o Fabric Assistente de Migração para Data Warehouse para uma migração automatizada a partir do SQL Server. O resto deste artigo descreve mais passos manuais de migração.

A tabela seguinte resume métodos para migrar o esquema de dados (DDL), o código da base de dados (DML) e os dados. Cada opção é descrita mais adiante neste artigo.

Option Method O que faz Habilidade ou preferência Scenario
1 Data Factory Conversão de esquemas
Extração de dados
Ingestão de dados
Pipeline de Fábrica de Dados Simplificação da migração de esquemas e dados. Recomendado para tabelas de dimensões.
2 Data Factory com particionamento Conversão de esquemas
Extração de dados
Ingestão de dados
Pipeline de Fábrica de Dados Migração paralelizada para grandes tabelas de factos.
3 Migração com esquema primeiro Conversão de esquemas Pipeline de Fábrica de Dados Migra primeiro o esquema e depois extrai e ingere os dados separadamente para maior controlo sobre o rendimento.
4 Scripts de migração SQL Conversão de esquemas
Extração de dados
Avaliação de código
T-SQL Use um IDE e scripts para controlo granular das tarefas de migração.
5 projetos de banco de dados SQL Conversão de esquemas
Avaliação de código
Projeto SQL Use um projeto de base de dados para controlo de versão, avaliação e implementação.
6 DBT Conversão de esquemas
Conversão de código de base de dados
dbt Reutilize um projeto dbt existente alterando o adaptador e a configuração de destino.

Escolha uma carga de trabalho para a migração inicial

Quando decidir onde começar um projeto de migração SQL Server para Fabric Data Warehouse, escolha uma área de carga de trabalho onde possa:

  • Prove a viabilidade da migração para Fabric Data Warehouse entregando rapidamente os benefícios do novo ambiente. Começa pequeno e simples, e prepara-te para múltiplas migrações pequenas.
  • Dê tempo à sua equipa técnica para ganhar experiência relevante com os processos e ferramentas que utilizam para migrar outras cargas de trabalho.
  • Crie um modelo para migrações futuras que seja específico para o seu ambiente, ferramentas e processos do seu SQL Server.

Sugestão

Crie um inventário dos objetos que precisam de ser migrados e documente o processo de migração do início ao fim para que possa ser repetido para outras bases de dados ou cargas de trabalho.

O volume de dados numa migração inicial deve ser suficientemente grande para demonstrar as capacidades e benefícios da Fabric Data Warehouse, mas suficientemente pequeno para demonstrar valor rapidamente. Um tamanho na faixa de 1-10 terabytes é típico.

Migrar com o Fabric Data Factory

O Fabric Data Factory fornece uma interface low-code que pode converter DDL de tabelas e migrar dados do SQL Server.

O Fabric Data Factory pode executar as seguintes tarefas:

  • Converta o esquema (DDL) para a sintaxe do Fabric Data Warehouse.
  • Criar objetos de esquema em Fabric Data Warehouse.
  • Migre dados para Fabric Data Warehouse.

Opção 1. Migração de esquemas e dados com o Copy assistant

Este método utiliza o assistente Data Factory Copy para se ligar à base de dados de origem do SQL Server, converter a DDL da tabela para a sintaxe do Fabric e copiar dados para o Fabric Data Warehouse. Pode selecionar uma ou mais tabelas de origem. O pipeline gerado utiliza uma atividade ForEach para copiar as tabelas selecionadas em paralelo.

Quando configuras a operação de cópia:

  • Usa o conector SQL Server para a ligação de origem.
  • Limite as cópias paralelas a um nível que a base de dados e a rede de origem possam suportar.
  • Monitorizar a CPU de origem, I/O, utilização dos registos de transações e a latência da carga de trabalho de produção durante a extração.

Use o Copy Assistant para uma interface simples que converte DDL e ingere tabelas selecionadas numa só operação. Este método é adequado para tabelas de dimensões e cargas de trabalho menores.

Para tabelas grandes, use particionamento para aumentar o paralelismo de leitura e escrita.

Opção 2. Migração de dados com particionamento

Para tabelas de factos grandes, utilize uma atividade de Cópia para cada tabela e configure o particionamento da origem. Use partições físicas quando disponíveis, ou configure a partição por intervalo dinâmico especificando uma coluna numérica ou de data adequada e os seus valores mínimos e máximos.

Captura de ecrã de uma fonte de pipeline com opções de particionamento por intervalo dinâmico.

Quando usas particionamento:

  • Escolha uma coluna de partição que distribua as linhas de forma uniforme.
  • Evite criar mais consultas de código fonte concorrentes do que o SQL Server consegue processar sem afetar as cargas de trabalho de produção.
  • Teste o intervalo de partições e as definições de cópia paralela contra uma carga de trabalho representativa.
  • Aumente gradualmente o paralelismo enquanto monitoriza a origem e o destino.

Utilize o particionamento no Data Factory para tabelas de factos de grandes dimensões quando a extração paralela melhora o débito. Dimensione a contagem de lotes e os intervalos de partição de acordo com a base de dados, recursos e capacidade da rede.

Opção 3. Migração esquema-primeiro

Para bases de dados maiores, migração de esquemas separada da migração de dados:

  1. Converte e cria esquemas de tabela em Fabric Data Warehouse.
  2. Extrair os dados de origem no Azure Data Lake Storage (ADLS) Gen2.
  3. Use a Data Factory ou o comando COPY INTO para ingerir os dados em etapas para Fabric Data Warehouse.

Separar estas fases permite-te ajustar a extração e a ingestão de forma independente.

Migração de esquemas com Data Factory

Pode usar um pipeline Fabric para migrar esquemas de tabela de SQL Server para Fabric Data Warehouse sem copiar linhas.

Captura de ecrã do Fabric Data Factory, mostrando uma atividade Lookup ligada à atividade ForEach que migra DDL.

Configurar parâmetros do pipeline

Crie um SchemaName parâmetro que especifique quais os esquemas a migrar. Use dbo como padrão, ou introduza uma lista delimitada por vírgulas como 'dbo','sales'.

Captura de ecrã da Data Factory a mostrar o parâmetro do pipeline SchemaName.

Configurar a atividade de Pesquisa

Crie uma atividade de Pesquisa e defina a sua ligação à base de dados SQL Server de origem. Na guia Configurações:

  • Defina Tipo de armazenamento de dados como Externo.
  • Selecione a ligação SQL Server de origem.
  • Defina Usar consulta como Consulta.
  • Adicione uma consulta dinâmica que devolve o esquema de origem e os nomes das tabelas.

Use a seguinte expressão para criar a consulta:

@concat('
SELECT s.name AS SchemaName,
t.name AS TableName
FROM sys.tables AS t
INNER JOIN sys.schemas AS s
ON t.type = ''U''
AND s.schema_id = t.schema_id
AND s.name in (',coalesce(pipeline().parameters.SchemaName, 'dbo'),')
')

Captura de ecrã da Data Factory a mostrar uma consulta dinâmica na atividade de Pesquisa.

Configurar a atividade ForEach

No separador Definições da atividade ForEach :

  • Desative o Sequencial para permitir que as iterações corram em simultâneo.
  • Defina o número de lotes para um valor que a base de dados de origem possa manter. Comece com um valor conservador e teste-o.
  • Defina Itens como @activity('Get List of Source Objects').output.value.

Captura de ecrã que mostra as definições de uma atividade Foreach.

Configurar a atividade de cópia

Dentro da atividade ForEach, adicione uma atividade de Cópia. Na guia Origem:

  • Defina Tipo de armazenamento de dados como Externo.
  • Selecione a ligação SQL Server de origem.
  • Defina Usar consulta como Consulta.
  • Defina Query como @concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName) para que apenas os metadados da tabela sejam migrados.

Captura de ecrã da Data Factory a mostrar as definições de origem para a atividade Copy.

Na guia Destino:

  • Defina Tipo de armazenamento de dados como Espaço de trabalho.
  • Defina o tipo de armazenamento de dados do Workspace para Data Warehouse e selecione o armazém de destino.
  • Defina o esquema de destino para @item().SchemaName.
  • Defina a tabela de destino para @item().TableName.

Captura de ecrã da Data Factory a mostrar as definições de destino para a atividade Copy.

Depois de executares o pipeline, verifica se Fabric Data Warehouse contém cada tabela selecionada com o esquema esperado.

Migrar usando scripts SQL

Use scripts de migração T-SQL e PowerShell quando quiser controlo granular sobre a conversão de esquemas, extração de dados e avaliação de código.

Os scripts de migração podem:

  • Converta o esquema (DDL) para a sintaxe do Fabric Data Warehouse.
  • Criar objetos de esquema em Fabric Data Warehouse.
  • Extrair dados do SQL Server para ADLS Gen2.
  • Sinalize a sintaxe T-SQL não suportada em procedimentos armazenados, funções e vistas.

A equipa Microsoft Fabric CAT fornece exemplos de código de migração no repositório de migração de fabricos.

Use scripts quando estiver familiarizado com o T-SQL, preferir um ambiente de desenvolvimento integrado e precisar de controlar tarefas individuais de migração. Utilize COPY INTO ou o Data Factory para importar os dados extraídos para o Fabric Data Warehouse.

Migrar usando projetos de banco de dados SQL

Fabric Data Warehouse é suportado na extensão SQL Database Projects para Visual Studio Code.

Um projeto de base de dados SQL fornece controlo de versão, testes de bases de dados, validação de esquemas e capacidades de implementação. Pode:

  • Converta o esquema (DDL) para a sintaxe do Fabric Data Warehouse.
  • Criar objetos de esquema em Fabric Data Warehouse.
  • Avalie a sintaxe T-SQL não suportada em procedimentos armazenados, funções e vistas.

Para a migração de dados, use o Data Factory para copiar diretamente do SQL Server ou extraia os dados para o ADLS Gen2 e importe-os com COPY INTO ou com o Data Factory.

Para um guia prático sobre a utilização de projetos de base de dados SQL com scripts de migração, consulte o repositório fabric-migration repository.

Para mais informações, consulte Começar com a extensão SQL Database Projects e Construir um projeto de base de dados a partir da linha de comandos.

Migração com dbt

Se o armazém de dados do seu SQL Server usar dbt, pode utilizar o adaptador dbt para o Fabric Data Warehouse para converter o esquema e o código da base de dados, alterando o perfil e o adaptador de destino.

A framework dbt gera scripts DDL e DML a partir de ficheiros de modelo. Deve migrar os dados separadamente usando o Data Factory ou outra opção de migração de dados neste artigo.

Para começar, veja o Tutorial: Configurar dbt para Fabric Data Warehouse.

Ingestão de dados em Fabric Data Warehouse

Para dados em etapas, use COPY INTO ou Fabric Data Factory para ingerir ficheiros do ADLS Gen2 para Fabric Data Warehouse. Considere as seguintes orientações:

  • Extrair tabelas grandes em paralelo quando a base de dados de origem e a rede tiverem capacidade suficiente.
  • Prefiro ficheiros Parquet para reduzir o armazenamento e o uso de rede e melhorar a eficiência da ingestão.
  • Carrega várias tabelas de destino em simultâneo quando a capacidade do Fabric conseguir suportar a carga de trabalho.
  • Monitorize tanto a extração da fonte como a capacidade do Fabric para encontrar o grau ótimo de paralelismo.