Migração de dados de MariaDB para SQL Server

Migrate · · 3 min de leitura

Vai levar tabelas do MariaDB para o SQL Server? O dbSlice copia os dados por um app Windows ou pela linha de comando, mantém o SQL Server sincronizado enquanto o sistema antigo ainda está no ar e compara os dois lados chave a chave antes da troca.

Migrar de MariaDB para SQL Server: o que muda no destino

Se a tabela não existe no SQL Server, o dbSlice para e mostra um CREATE TABLE traduzido para o SQL Server, para o seu DBA revisar e rodar. Por padrão, ele não cria nada nos seus bancos. Estes são os detalhes do SQL Server para olhar:

  • Inteiros sem sinal. O SQL Server não tem tipos sem sinal; por isso, o dbSlice lê o tipo declarado e sugere um maior, em que o maior valor caiba: SMALLINT UNSIGNED → INT, INT UNSIGNED e MEDIUMINT UNSIGNED → BIGINT, BIGINT UNSIGNED → DECIMAL(20,0).
  • Flags TINYINT(1). São sugeridas como BIT. Um TINYINT(1) usado como número (valores 2, 3…) chegaria como 1: troque essa coluna para TINYINT ou SMALLINT no CREATE TABLE antes de rodar.
  • Datas zeradas. O MariaDB aceita 0000-00-00, que o SQL Server rejeita. O dbSlice lê uma data zerada como NULL, sem mudar nada no MariaDB; por isso, a coluna de destino precisa aceitar NULL.
  • Texto vira NVARCHAR. Até 4.000 caracteres ele mantém o tamanho; acima disso e para LONGTEXT, vira NVARCHAR(MAX). JSON chega como texto em NVARCHAR(MAX); o SQL Server o lê com JSON_VALUE e OPENJSON.
  • ENUM, SET e YEAR são sugeridos como texto. Acrescente uma constraint CHECK se quiser a lista garantida; YEAR costuma ficar melhor como SMALLINT.
  • Ids AUTO_INCREMENT e IDENTITY. O SQL Server só aceita valores explícitos numa coluna IDENTITY com IDENTITY_INSERT. O dbSlice oferece Keep identity para isso. Exige permissão de ALTER na tabela, e a tela pede confirmação antes. Sem essa opção, o SQL Server gera ids novos; então não use o id como chave da sincronia.
  • O Upsert roda como MERGE, e as cargas em massa usam SqlBulkCopy com triggers e constraints verificados, para as regras do destino continuarem valendo.
Aba Synchronize do dbSlice

Como o dbSlice controla a carga

  • Lê o MariaDB em lotes pequenos, para o banco em uso continuar atendendo os usuários.
  • Casa as linhas por uma chave que você escolhe. Modos: Initial load, depois Upsert, Insert new, Update only ou incremental por coluna (updated_at ou o id AUTO_INCREMENT).
  • Confere antes de gravar com o Record Diff e as conferências na tela, e prova o resultado com o Compare e a lista completa de chaves divergentes.
  • Mascara no caminho as cópias de desenvolvimento e teste, mantendo chaves e chaves estrangeiras intactas.
  • Exportar em vez de carregar: quando você só precisa de um arquivo, o mesmo app exporta uma tabela do MariaDB para CSV, JSON, XML ou HTML.

Passo a passo: converter uma tabela de MariaDB para SQL Server

  1. Conecte no MariaDB e no SQL Server.
  2. Escolha a tabela de origem (ou um SELECT) e a tabela de destino.
  3. Escolha a coluna-chave, e ligue Keep identity se os ids precisarem continuar iguais.
  4. Escolha o modo: Initial load, depois Upsert ou Insert new.
  5. Rode o Record Diff e depois a cópia, ou salve como job para a CLI e o Agendador de Tarefas.

Mover dados entre SQL Server e MariaDB, com qualquer um dos dois como origem

O mesmo app move dados no outro sentido: veja SQL Server para MariaDB. Com o MySQL como origem, veja MySQL para PostgreSQL; os mesmos detalhes do MariaDB valem. Vindo do MySQL? Veja MySQL para SQL Server.

Perguntas frequentes

Funciona com MySQL também?

Sim. MariaDB e MySQL usam o mesmo conector no dbSlice, e os detalhes acima valem para os dois.

Preciso ativar algo no MariaDB?

Não, a leitura usa consultas comuns. Só a carga em massa para o MariaDB precisa de local_infile.

As execuções incrementais copiam as exclusões?

Não. Rode o Compare ou uma recarga antes da troca.

Existe versão gratuita?

Sim, na Microsoft Store: ela conecta, navega, compara e exporta para CSV. Gravar num destino exige uma licença Desktop ou Server.

Ainda não usa o dbSlice?
Experimente a versão gratuita da Microsoft Store: ela conecta, navega pelos dados, compara estruturas e exporta para CSV.

Experimente grátis Veja as demonstrações

Em produção há mais de 6 anos · Garantia de 14 dias · Roda na sua máquina