Migrar bancos de dados usando a extensão de Migração de SQL do Azure para Azure Data Studio

Saiba como usar a experiência unificada na extensão de Migração de SQL do Azure para o Azure Data Studio. Ajuda você a avaliar os requisitos de seu banco de dados, obter recomendações da SKU com o tamanho correto para os recursos do Azure e migrar seu banco de dados do SQL Server para o Azure.

A extensão de migração de SQL do Azure para o Azure Data Studio oferece estes principais benefícios:

  • Uma interface do usuário responsiva para uma experiência de migração de ponta a ponta. A extensão começa com uma avaliação de preparação de migração e uma recomendação de SKU (versão prévia) (com base em dados de desempenho).

  • Um mecanismo de avaliação aprimorado que pode avaliar instâncias do SQL Server. A extensão identifica bancos de dados que estão prontos para migrar para destinos do SQL do Azure.

    Observação

    Você pode usar a extensão de Migração de SQL do Azure para avaliar bancos de dados SQL Server em execução no Windows ou Linux.

  • Um mecanismo de recomendação de SKU que coleta dados de desempenho da instância do SQL Server de origem local e gera recomendações de SKU de tamanho adequado com base no destino de SQL do Azure.

  • Um serviço confiável do Azure desenvolvido pelo Serviço de Migração de Banco de Dados do Azure que orquestra as atividades de movimentação de dados para oferecer uma experiência de migração perfeita.

  • É possível executar suas migrações online (para migrações que exigem tempo de inatividade mínimo) ou offline (para migrações em que o tempo de inatividade persiste durante a migração) dependendo dos requisitos de negócios.

  • Você pode configurar um runtime de integração auto-hospedada para usar os seus recursos de computação para acessar os arquivos de backup da instância do SQL Server de origem no seu ambiente local.

  • Fornece uma experiência de usuário segura e aprimorada para migrar bancos de dados TDE e logons do SQL/Windows para SQL do Azure.

Para obter informações sobre cenários de migração específicos e destinos de SQL do Azure, consulte a lista de tutoriais na tabela a seguir:

Cenário de migração Modo de migração
SQL Server para Instância Gerenciada de SQL do Azure Online / Offline
SQL Server para SQL Server em uma máquina virtual do Azure Online / Offline
SQL Server para o Banco de Dados SQL do Azure Offline

Importante

Se o seu destino for o Banco de Dados SQL do Azure, você poderá migrar o Esquema do banco de dados e os dados usando o Serviço de Migração de Banco de Dados por meio do Portal do Azure. Além disso, você pode usar ferramentas como a extensão dacpac do SQL Server ou a extensão Projetos do Banco de Dados SQL para o Azure Data Studio para implantar o esquema de banco de dados antes de iniciar a migração de dados.

O seguinte vídeo explica as atualizações e os recursos recentes adicionados à extensão de Migração do SQL do Azure para o Azure Data Studio:


Arquitetura da extensão de Migração de SQL do Azure para o Azure Data Studio

O Serviço de Migração de Banco de Dados do Azure é um componente principal da arquitetura de extensão de migração de SQL do Azure. O Serviço de Migração de Banco de Dados fornece um orquestrador de migração confiável para dar suporte às migrações de banco de dados para o SQL do Azure. Você pode criar uma instância de Serviço de Migração de Banco de Dados ou usar uma instância existente usando a extensão de Migração de SQL do Azure no Azure Data Studio.

O Serviço de Migração de Banco de Dados usa o runtime de integração auto-hospedada do Azure Data Factory para acessar e carregar arquivos de backup válidos do compartilhamento de rede local ou da conta de armazenamento do Azure.

O fluxo de trabalho do processo de migração é ilustrado no diagrama a seguir:

Diagram that shows the Azure SQL Migration extension architecture.

A lista a seguir descreve cada etapa no fluxo de trabalho:

(1) SQL Server de origem: uma instância local de SQL Server que está em uma nuvem privada ou em uma instância de SQL Server em uma máquina virtual na nuvem pública. Há suporte para o SQL Server 2008 e versões posteriores no Windows ou Linux.

(2) SQL do Azure de destino: os destinos SQL do Azure com suporte são a Instância Gerenciada de SQL do Azure, o SQL Server em Máquinas Virtuais do Azure (registrado na extensão de infraestrutura como serviço do SQL no modo de gerenciamento completo) e no Banco de Dados SQL do Azure.

(3) Compartilhamento de arquivos na rede: uma rede de compartilhamento de arquivos de SMB (protocolo SMB), onde os arquivos de backup são armazenados para os bancos de dados a serem migrados. Também há suporte para os contêineres do armazenamento de blobs do Azure e para o compartilhamento de arquivo do armazenamento do Azure.

(4) Azure Data Studio: baixe e instale a extensão de Migração de SQL do Azure para Azure Data Studio.

(5) Serviço de Migração de Banco de Dados do Azure do Azure: um serviço do Azure que orquestra pipelines de migração para realizar atividades de movimentação de dados de um ambiente local para o Azure. O Serviço de Migração de Banco de Dados está associado ao runtime de integração auto-hospedada do Azure Data Factory e fornece a capacidade de registrar e monitorar o runtime de integração auto-hospedada.

(6) Runtime de integração auto-hospedada: instale um runtime de integração auto-hospedada em um computador que possa se conectar à instância de SQL Server de origem e ao local do arquivo de backup. O Serviço de Migração de Banco de Dados fornece as chaves de autenticação e registra o runtime de integração auto-hospedada.

(7) Carregar arquivos de backup na conta de armazenamento do Azure: o Serviço de Migração de Banco de Dados usa um runtime de integração auto-hospedada para carregar arquivos de backup válidos do local de backup no local na sua conta de armazenamento do Azure. As atividades de movimentação de dados e os pipelines são criados automaticamente no fluxo de trabalho de migração para carregar os arquivos de backup.

(8) Restaurar backups no SQL do Azure de destino: o Serviço de Migração de Banco de Dados restaura arquivos de backup da sua conta de armazenamento do Azure para a instância SQL do Azure de destino com suporte.

Observação

Se o destino de migração for o Banco de Dados SQL do Azure, você não precisa de backups para essa migração. A migração de banco de dados para o Banco de Dados SQL do Azure é considerada uma migração lógica que envolve a pré-criação do banco de dados e a movimentação de dados (realizada pelo Serviço de Migração de Banco de Dados).

Importante

A extensão de Migração do SQL do Azure para o Azure Data Studio não faz backups de banco de dados ou não inicia backups de banco de dados em seu nome. Em vez disso, o serviço usa arquivos de backup de banco de dados existentes para a migração.

No modo de migração online, o Serviço de Migração de Banco de Dados carrega continuamente os arquivos de origem de backup na sua conta de armazenamento do Azure e os restaura no destino até que você conclua a etapa final de transferência para o destino.

No modo de migração offline, o Serviço de Migração de Banco de Dados carrega os arquivos de origem de backup para o armazenamento do Azure e os restaura no destino sem necessidade de uma substituição.

Pré-requisitos

As seções a seguir descrevem os pré-requisitos de cada destino do SQL do Azure com suporte.

  • Baixe e instale o Azure Data Studio.

  • Instale a extensão de Migração do SQL do Azure do Marketplace do Azure Data Studio.

  • Tenha uma conta do Azure atribuída a uma das seguintes funções internas:

    • Colaborador para a instância de destino da Instância Gerenciada de SQL do Azure e para a conta de armazenamento em que você carrega seus arquivos de backup de banco de dados de um compartilhamento de rede do protocolo SMB
    • Função de leitor nos grupos de recursos do Azure que contêm a instância de destino da Instância Gerenciada de SQL do Azure ou a conta de Armazenamento do Azure
    • Função de Proprietário ou Colaborador para a assinatura do Azure (necessária se você criar uma instância do Serviço de Migração de Banco de Dados)

    Como alternativa ao uso de uma dessas funções internas, você pode atribuir uma função personalizada.

    Importante

    Uma conta do Azure é necessária somente quando você configura as etapas de migração. Uma conta do Azure não é necessária para a avaliação nem para exibir recomendações do Azure no assistente de migração no Azure Data Studio.

  • Crie uma instância de destino da Instância Gerenciada de SQL do Azure.

  • Verifique se os logons usados para conectar a instância de origem do SQL Server são membros da função de servidor SYSADMIN ou têm a permissão CONTROL SERVER.

  • Forneça um compartilhamento de rede SMB, um compartilhamento de arquivo de conta de armazenamento do Azure ou um contêiner de blob de conta de armazenamento do Azure que contém seus arquivos de backup de banco de dados completo e os arquivos de backup de log de transações seguintes. O Serviço de Migração de Banco de Dados usa o local de backup durante a migração de banco de dados.

    Importante

    • A extensão de Migração do SQL do Azure para o Azure Data Studio não faz backups de banco de dados ou não inicia backups de banco de dados em seu nome. Em vez disso, o serviço usa arquivos de backup de banco de dados existentes para a migração.
    • Se os arquivos de backup do banco de dados estiverem em um compartilhamento de rede SMB, crie uma conta de armazenamento do Azure que o Serviço de Migração de Banco de Dados possa usar para carregar arquivos de backup do banco de dados e para migrar bancos de dados. Crie a conta de armazenamento do Azure na mesma região em que você criar sua instância do Serviço de Migração de Banco de Dados.
    • Você pode gravar cada backup em um arquivo de backup separado ou em vários arquivos de backup. Não há suporte para acrescentar vários backups, como logs completos e de transações, em apenas uma mídia de backup.
    • É possível fornecer backups compactados para reduzir a probabilidade de ocorrência de problemas potenciais associados à migração de backups de grande porte.
  • Verifique se a conta de serviço que executa a instância de origem do SQL Server tem permissões de leitura e gravação no compartilhamento de rede SMB que contém os arquivos de backup de banco de dados.

  • Se você estiver migrando um banco de dados protegido pela Transparent Data Encryption (TDE), o certificado da instância do SQL Server de origem deverá ser migrado para sua instância gerenciada de destino antes da restauração do banco de dados. Para obter mais informações sobre como migrar bancos de dados habilitados para TDE, confira Tutorial: Migrar bancos de dados habilitados para TDE (versão prévia) para o SQL do Azure no Azure Data Studio.

    Dica

    Se o banco de dados contiver dados confidenciais protegidos pelo Always Encrypted, o processo de migração migrará automaticamente suas chaves Always Encrypted para a instância gerenciada de destino.

  • Se os backups de banco de dados estiverem em um compartilhamento de arquivos de rede, forneça um computador no qual você possa instalar um runtime de integração auto-hospedada para acessar e migrar backups de banco de dados. O assistente de migração fornece o link de download e as chaves de autenticação para baixar e instalar seu runtime de integração auto-hospedada.

    Em preparação para a migração, verifique se o computador de instalação do runtime de integração auto-hospedada tem as seguintes regras de firewall de saída e nomes de domínio habilitados:

    Nomes de domínios Porta de saída Descrição
    Nuvem pública: {datafactory}.{region}.datafactory.azure.net
    ou *.frontend.clouddatahub.net

    Azure Governamental: {datafactory}.{region}.datafactory.azure.us

    Microsoft Azure operado pela 21Vianet: {datafactory}.{region}.datafactory.azure.cn
    443 Necessárias para que o runtime de integração auto-hospedada se conecte ao Serviço de Migração de Banco de Dados.

    Para um data factory recém-criado em uma nuvem pública, localize o FQDN (nome de domínio totalmente qualificado) da chave do runtime de integração auto-hospedada, no formato {datafactory}.{region}.datafactory.azure.net.

    Para um data factory existente, se você não vir o FQDN na chave de integração auto-hospedada, use *.frontend.clouddatahub.net.
    download.microsoft.com 443 Exigido pelo runtime de integração auto-hospedada para fazer o download das atualizações. Se você tiver desabilitado a atualização automática, poderá ignorar a configuração desse domínio.
    *.core.windows.net 443 Usado pelo runtime de integração auto-hospedada que se conecta à conta de armazenamento do Azure para carregar backups de banco de dados do compartilhamento de rede

    Dica

    Se os arquivos de backup de banco de dados já foram fornecidos em uma conta de armazenamento do Azure, o runtime de integração auto-hospedada não será necessário durante o processo de migração.

  • Se você usa um runtime de integração auto-hospedada, certifique-se de que o computador onde o runtime está instalado possa se conectar à instância do SQL Server de origem e ao compartilhamento de arquivo de rede onde os arquivos de backup estão localizados.

  • Habilite a porta de saída 445 para permitir o acesso ao compartilhamento de arquivo de rede. Para saber mais, confira recomendações para usar um runtime de integração auto-hospedada.

  • Se você está usando o Serviço de Migração de Banco de Dados pela primeira vez, verifique se o provedor de recursos Microsoft.DataMigration está registrado em sua assinatura. Você pode realizar as etapas para registrar o provedor de recursos.

Recomendações para usar um runtime de integração auto-hospedada para migrações de banco de dados

  • Use um único runtime de integração auto-hospedada para vários bancos de dados do SQL Server de origem.

  • Instale apenas uma instância de um runtime de integração auto-hospedada em um único computador.

  • Associe apenas um runtime de integração auto-hospedada a uma instância do Serviço de Migração de Banco de Dados.

  • O runtime de integração auto-hospedada usa recursos (memória e CPU) no computador em que está instalado. Instale o runtime de integração auto-hospedada em um computador separado da instância de SQL Server de origem. No entanto, os dois computadores devem estar próximos. Ter o runtime de integração auto-hospedada próximo da fonte de dados reduz o tempo gasto para o runtime de integração auto-hospedada se conectar à fonte de dados.

  • Use o runtime de integração auto-hospedada somente quando você tiver backups de banco de dados em um compartilhamento de rede do SMB local. Um runtime de integração auto-hospedada não será necessário para as migrações de banco de dados se os backups de banco de dados de origem já estiverem no contêiner de blobs do armazenamento.

  • São recomendadas até 10 migrações simultâneas de banco de dados por runtime de integração auto-hospedada em um único computador. Para aumentar o número de migrações simultâneas de banco de dados, escale horizontalmente o runtime auto-hospedado para até quatro nós ou crie instâncias separadas de um runtime de integração auto-hospedada em computadores diferentes.

  • Configure o runtime de integração auto-hospedada para atualização automática e para aplicar automaticamente todos os recursos novos, correções de bugs e aprimoramentos que são lançados. Para obter mais informações, confira Atualização automática de runtime de integração auto-hospedada.

Monitorar o progresso da migração de banco de dados no portal do Azure

A extensão de Migração SQL do Azure para o Azure Data Studio orquestra todas as tarefas de migração por meio do Serviço de Migração de Banco de Dados selecionado no assistente de migração ao migrar bancos de dados.

Para monitorar as migrações de banco de dados no portal do Azure:

  1. No portal do Azure, pesquise sua instância de Serviço de Migração de Banco de Dados usando o nome do recurso.

    Screenshot that shows how to search for a resource name in the Azure portal.

  2. Na visão geral da instância Serviço de Migração de Banco de Dados, selecione Monitorar migrações para exibir os detalhes das migrações de banco de dados.

    Screenshot that shows how to monitor migrations in the Azure portal.

Limitações e problemas conhecidos

  • O Serviço de Migração de Banco de Dados não oferece suporte à substituição de bancos de dados existentes em sua instância de destino da Instância Gerenciada SQL do Azure, do Banco de Dados SQL do Azure ou do SQL Server em Máquinas Virtuais do Azure.

  • O Serviço de Migração de Banco de Dados não oferece suporte à configuração de alta disponibilidade e recuperação de desastres no destino para corresponder à topologia de origem.

  • Não há suporte para os seguintes objetos do servidor:

    • trabalhos do SQL Server Agent
    • Credenciais
    • pacotes do SQL Server Integration Services
    • Auditoria de servidor

    Para obter uma lista completa de metadados e objetos de servidor que você precisa mover, confira as informações detalhadas disponíveis em Gerenciar metadados ao disponibilizar um banco de dados em outro servidor.

  • Não há suporte para o SQL Server 2008 e anteriores como versões de destino nas migrações para o SQL Server em Máquinas Virtuais do Azure.

  • Caso use o SQL Server 2014 ou o SQL Server 2012, você deve armazenar os arquivos de backup do banco de dados de origem em um contêiner do armazenamento de blobs do Azure em vez de usar a opção de compartilhamento de rede. Armazene os arquivos de backup como blobs de páginas. Há suporte para blobs de blocos somente no SQL Server 2016 e versões posteriores.

  • Não é possível usar um runtime de integração auto-hospedada existente que foi criado no Azure Data Factory para migrações de banco de dados com o Serviço de Migração de Banco de Dados. Inicialmente, crie o runtime de integração auto-hospedada usando a extensão de Migração de SQL do Azure para o Azure Data Studio. Você pode reutilizar esse runtime de integração auto-hospedada em migrações de banco de dados futuras.

  • Atualmente, o Azure Data Studio oferece suporte à autenticação do Microsoft Entra ID/Windows e logons SQL para conexão com a instância do SQL Server de origem. Para os destinos SQL do Azure, somente logons SQL são suportados.

Preços

  • O Serviço de Migração de Banco de Dados do Azure é gratuito para uso com a extensão de Migração de SQL do Azure no Azure Data Studio. É possível migrar vários bancos de dados do SQL Server usando o Serviço de Migração de Banco de Dados sem custos.

  • Nenhum custo de movimentação de dados ou entrada de dados é avaliado quando você migra seus bancos de dados de um ambiente local para o Azure. Se o banco de dados de origem for movido de outra região ou de uma máquina virtual do Azure, você pode incorrer em encargos de largura de banda dependendo do provedor de largura de banda e cenário de roteamento.

  • Use uma máquina virtual ou servidor local para instalar o Azure Data Studio.

  • Um runtime de integração auto-hospedada é exigido para acessar backups de banco de dados do seu compartilhamento de rede local.

Disponibilidade de região

Para ver a lista de regiões do Azure que dão suporte a migrações de banco de dados usando a extensão de Migração de SQL do Azure para Azure Data Studio (da plataforma de Serviço de Migração de Banco de Dados do Azure), confira os produtos do Azure disponíveis por região.

Próximas etapas