Mover dados para o Banco de Dados SQL do Azure

Concluído

Embora existam métodos disponíveis para migrar um esquema inteiro e seus dados, também há casos em que apenas um subconjunto do banco de dados é necessário. Felizmente, muitos dos métodos que vimos dão suporte à migração parcial de dados, e vamos aprender mais sobre alguns outros.

No nosso cenário de fabricante de bicicletas, suponha que a empresa tenha um banco de dados SQL Server local que contenha vários anos de dados de vendas, clientes e produtos. A empresa deseja migrar para um banco de dados SQL do Azure para aproveitar a escalabilidade e a flexibilidade da nuvem. No entanto, eles só precisam migrar as tabelas de clientes e produtos, pois desejam manter os dados de vendas no local por motivos de segurança.

Sincronização de Dados SQL

O recurso de Sincronização de Dados permite sincronizar de forma incremental os dados em vários bancos de dados executados no Banco de Dados SQL do Azure ou no SQL Server local. Você também pode utilizar a Sincronização de Dados para manter seus bancos de dados de origem e destino sincronizados após as migrações. A Sincronização de Dados controla alterações usando os gatilhos inserir, atualizar e excluir. As alterações são registradas em uma tabela secundária do banco de dados do usuário.

Devido à sua capacidade de sincronizar os dados em ambas as direções, esse recurso é uma ótima opção para aplicativos híbridos. Ele é particularmente atraente para os clientes que estão pensando em migrar para a nuvem, pois permite que eles façam a transição de alguns de seus aplicativos para o Azure rapidamente.

Diagram showing the SQL Data Sync architecture.

A Sincronização de Dados é baseada em uma topologia de hub, na qual você define um dos bancos de dados no grupo de sincronização para funcionar como um banco de dados de hub. O grupo de sincronização pode ter vários membros, e você só pode sincronizar alterações entre o banco de dados do hub e bancos de dados individuais. A Sincronização de Dados acompanha as alterações utilizando os gatilhos INSERT, UPDATE e DELETE por meio de uma tabela histórica criada no banco de dados do usuário.

Em comparação com a replicação transacional, que tem uma latência menor, uma desvantagem da Sincronização de Dados é seu maior impacto no desempenho. Isso significa que as alterações feitas em um banco de dados exigem mais recursos quando se utiliza a Sincronização de Dados SQL.

Quando você criar um grupo de sincronização, ele solicitará que você forneça um banco de dados responsável por armazenar os metadados do grupo de sincronização. O local de metadados pode ser um novo banco de dados ou um banco de dados existente, desde que resida na mesma região que o grupo de sincronização.

Screenshot showing the new sync group page from Azure portal.

Você pode especificar as propriedades do grupo de sincronização, como a sincronização agendada, a opção de resolução de conflitos e o uso de um link privado, se necessário.

Para obter mais informações sobre como configurar a Sincronização de Dados SQL, confira Tutorial: configurar a Sincronização de Dados SQL entre bancos de dados no Banco de Dados SQL do Azure e no SQL Server.

Cópia em massa

O utilitário bcp permite a exportação em massa de dados de uma tabela do SQL Server para um arquivo de dados e vice-versa. O utilitário é versátil, permitindo a transferência de dados entre o SQL Server e outros programas ou bancos de dados.

Entender o esquema e os tipos de dados da tabela é essencial para usar o comando bcp de forma eficaz, a menos que um arquivo de formato pré-existente esteja disponível.

Fábrica de dados do Azure

Você pode usar o Azure Data Factory para migração de dados em vez de migrar todo o banco de dados. O Azure Data Factory pode migrar e transformar dados de bancos de dados do SQL Server de origem e é comumente utilizado para cargas de trabalho de business intelligence (BI).