Tutorial: migrar o SQL Server para o Banco de Dados SQL do Azure (offline)

Use o Serviço de Migração de Banco de Dados do Azure por meio da extensão de Migração do SQL do Azure no Azure Data Studio ou do portal do Azure, para migrar bancos de dados de uma instância local do SQL Server para o Banco de Dados SQL do Azure (offline).

Neste tutorial, saiba como migrar o banco de dados de amostra AdventureWorks2019 de uma instância local do SQL Server para uma instância do Banco de Dados SQL do Azure usando o Serviço de Migração de Banco de Dados. Este tutorial usa o modo de migração offline, que considera um tempo de inatividade aceitável durante o processo de migração.

Neste tutorial, você aprenderá como:

  • Abrir o assistente Migrar para o SQL do Azure no Azure Data Studio
  • Executar uma avaliação de seus bancos de dados do SQL Server de origem
  • Coletar dados de desempenho de sua instância do SQL Server de origem
  • Obter uma recomendação do SKU do Banco de Dados SQL do Azure que funcionará melhor com sua carga de trabalho
  • Criar uma instância do Serviço de Migração de Banco de Dados do Azure
  • Iniciar a migração e monitorar o progresso até a conclusão

Dica

No Serviço de Migração de Banco de Dados do Azure, você pode migrar seus bancos de dados offline ou enquanto estiverem online. Na migração offline, o tempo de inatividade do aplicativo começa quando a migração é iniciada. Para limitar o tempo de inatividade que leva para transferir para o novo ambiente após a migração, use uma migração online. É recomendável testar uma migração offline para determinar se o tempo de inatividade é aceitável. Se o tempo de inatividade esperado não for aceitável, faça uma migração online.

Importante

Atualmente, as migrações online para os destinos do Banco de Dados SQL do Azure não estão disponíveis.

Opções de migração

A seção a seguir descreve como usar o Serviço de Migração de Banco de Dados do Azure com a extensão de Migração do SQL do Azure ou no portal do Azure.

Pré-requisitos

Antes de começar o tutorial:

  • 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 do Banco de Dados SQL do Azure de destino
    • Função de Leitor para o grupo de recursos do Azure que contém a instância de destino do Banco de Dados SQL 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 do Azure)

    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 do Banco de Dados SQL do Azure.

  • Verifique se o logon do SQL Server que se conecta à instância do SQL Server de origem é um membro da função db_datareader e se o logon da instância do SQL Server de destino é um membro da função db_owner.

  • Para migrar o esquema de banco de dados da origem para o Banco de Dados SQL do Azure de destino usando o Serviço de Migração de Banco de Dados, a versão SHIR mínima com suporte necessária é 5.37 ou superior.

  • Caso esteja 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.

Observação

Agora, você pode migrar o esquema do banco de dados e os dados usando o Serviço de Migração de Banco de Dados. 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 no Azure Data Studio para migrar o esquema antes de selecionar a lista de tabelas a serem migradas.

Se nenhuma tabela existir no destino do Banco de Dados SQL do Azure ou se nenhuma tabela for selecionada antes de iniciar a migração, o botão Avançar não estará disponível para selecionar para iniciar a tarefa de migração. Se não existir nenhuma tabela no destino, você deverá selecionar a opção Migração de esquema para avançar.

Abrir o assistente Migrar para o SQL do Azure no Azure Data Studio

Para abrir o assistente Migrar para o SQL do Azure:

  1. No Azure Data Studio, acesse Conexões. Selecione a instância local do SQL Server e conecte-se a ela. Você também pode se conectar ao SQL Server em uma máquina virtual do Azure.

  2. Clique com o botão direito do mouse na conexão de servidor e selecione Gerenciar.

    Screenshot that shows a server connection and the Manage option in Azure Data Studio.

  3. No menu do servidor, em Geral, selecione Migração de SQL do Azure.

    Screenshot that shows the Azure Data Studio server menu.

  4. No painel da Migração de SQL do Azure, selecione Migrar para o SQL do Azure para abrir o assistente de migração.

    Screenshot that shows the Migrate to Azure SQL wizard.

  5. Na primeira página do assistente, inicie uma nova sessão ou retome uma sessão salva anteriormente.

Executar a avaliação de banco de dados, coletar dados de desempenho e obter recomendações do Azure

  1. Na Etapa 1: Bancos de dados para avaliação no assistente Migrar para o SQL do Azure, selecione os bancos de dados que deseja avaliar. Em seguida, selecione Avançar.

    Screenshot that shows selecting a database for assessment.

  2. Na Etapa 2: Resultados e recomendações da avaliação, conclua as seguintes etapas:

    1. Em Escolher o destino do SQL do Azure, selecione Banco de Dados SQL do Azure.

      Screenshot that shows selecting the Azure SQL Database target.

    2. Selecione Exibir/Selecionar para exibir os resultados da avaliação.

      Screenshot that shows view/select assessment results.

    3. Nos resultados da avaliação, selecione o banco de dados e examine o relatório da avaliação para garantir que nenhum problema tenha sido encontrado.

      Screenshot that shows the assessment report.

    4. Selecione Obter recomendação do Azure para abrir o painel de recomendações.

      Screenshot that shows Azure recommendations.

    5. Selecione Coletar dados de desempenho agora. Selecione uma pasta no computador local para armazenar os logs de desempenho e selecione Iniciar.

      Screenshot that shows performance data collection.

      O Azure Data Studio coleta dados de desempenho até que você interrompa a coleta de dados ou feche o Azure Data Studio.

      Após 10 minutos, o Azure Data Studio indica que uma recomendação está disponível para o Banco de Dados SQL do Azure. Após a primeira recomendação ser gerada, você poderá selecionar Reiniciar coleta de dados para continuar o processo de coleta de dados e refinar a recomendação de SKU. Uma avaliação estendida será especialmente útil se os padrões de uso variarem ao longo do tempo.

      Screenshot that shows performance data collected.

    6. No destino Banco de Dados SQL do Azure selecionado, clique em Ver detalhes para abrir o relatório detalhado de recomendação de SKU:

      Screenshot that shows the View details link for the target database recommendations.

    7. Em Revisar Recomendações Banco de Dados SQL do Azure, examine a recomendação. Para salvar uma cópia da recomendação, selecione Salvar relatório de recomendação.

      Screenshot that shows SKU recommendation details.

  3. Selecione Fechar para fechar o painel de recomendações.

  4. Selecione Avançar para dar continuidade à migração de banco de dados no assistente.

Definir as configurações de migração

  1. Na Etapa 3: destino de SQL do Azure no assistente Migrar para o SQL do Azure, conclua estas etapas para sua instância do Banco de Dados SQL do Azure de destino:

    1. Selecione sua conta do Azure, a assinatura do Azure, a região ou o local do Azure e o grupo de recursos que contém a implantação do Banco de Dados SQL do Azure.

      Screenshot that shows Azure account details.

    2. Para Servidor do Banco de Dados SQL do Azure, selecione o servidor de banco de dados de SQL do Azure de destino (servidor lógico). Insira um nome de usuário e uma senha para a implantação do banco de dados de destino. Em seguida, selecione Conectar. Insira as credenciais para verificar a conectividade com o banco de dados de destino.

      Screenshot that shows Azure SQL Database details.

    3. Em seguida, mapeie o banco de dados de origem e o banco de dados de destino para a migração. Para Banco de dados de destino, selecione o destino do Banco de Dados SQL do Azure. Em seguida, selecione Avançar para ir para a próxima etapa no assistente de migração.

      Screenshot that shows source and target mapping.

  2. Na Etapa 4: Modo de migração, selecione Migração offline e Avançar.

    Screenshot that shows offline migrations selection.

  3. Na Etapa 5: Configuração da fonte de dados, conclua as seguintes etapas:

    1. Em Credenciais de origem, insira as credenciais do SQL Server de origem.

    2. Em Selecionar tabelas, selecione o ícone de lápis Editar.

      Screenshot that shows source SQL Server credentials.

    3. Em Selecionar tabelas para <nome do banco de dados>, selecione as tabelas a serem migradas para o destino. A coluna Tem linhas indica se a tabela de destino tem linhas no banco de dados de destino. Você pode selecionar uma ou mais tabelas. Em seguida, selecioneAtualizar.

      Você pode atualizar a lista de tabelas selecionadas a qualquer momento antes de iniciar a migração.

      No exemplo abaixo, um filtro de texto foi aplicado para selecionar as tabelas que contêm a palavra Employee. Selecione uma lista de tabelas de acordo com suas necessidades de migração.

      Screenshot that shows the table selection.

  4. Examine as seleções de tabela e selecione Avançar para passar para a próxima etapa no assistente de migração.

    Screenshot that shows selected tables to migrate.

Observação

Se nenhuma tabela estiver selecionada ou se um nome de usuário e senha não forem inseridos, o botão Avançar não estará disponível para seleção.

Agora, você pode migrar o esquema do banco de dados e os dados usando o Serviço de Migração de Banco de Dados. 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 no Azure Data Studio para migrar o Esquema antes de selecionar a lista de tabelas a serem migradas.

Criar uma instância do Serviço de Migração de Banco de Dados

Na Etapa 6: Serviço de Migração de Banco de Dados do Azure no assistente Migrar para o SQL do Azure, crie uma instância do Serviço de Migração de Banco de Dados ou reutilize uma existente criada anteriormente.

Observação

Se você já criou uma instância do Serviço de Migração de Banco de Dados usando o portal do Azure, não é possível reutilizar a instância no assistente de migração no Azure Data Studio. Você só poderá reutilizar uma instância se a tiver criado usando o Azure Data Studio.

Usar uma instância existente do Serviço de Migração de Banco de Dados

Para usar uma instância existente do Serviço de Migração de Banco de Dados:

  1. Em Grupo de recursos, selecione o grupo de recursos que contém uma instância existente do Serviço de Migração de Banco de Dados.

  2. Em Serviço de Migração de Banco de Dados do Azure, selecione uma instância existente do Serviço de Migração de Banco de Dados que esteja no grupo de recursos selecionado.

  3. Selecione Avançar.

    Screenshot that shows Database Migration Service selection.

Criar uma instância do Serviço de Migração de Banco de Dados

Para criar uma instância do Serviço de Migração de Banco de Dados:

  1. Em Grupo de recursos, crie um grupo de recursos que conterá uma nova instância do Serviço de Migração de Banco de Dados.

  2. Em Serviço de Migração de Banco de Dados do Azure, selecione Criar.

  3. Em Criar Serviço de Migração de Banco de Dados do Azure, insira um nome para a instância do Serviço de Migração de Banco de Dados e selecione Criar.

  4. Em Configurar runtime de integração, conclua as seguintes etapas:

    1. Selecione o link Baixar e instalar runtime de integração para abrir o link de download em um navegador da Web. Baixe o runtime de integração e instale-o em um computador que atenda aos pré-requisitos para se conectar à instância do SQL Server de origem.

      Screenshot that shows the Download and install integration runtime link.

      Quando a instalação for concluída, o Microsoft Integration Runtime Configuration Manager será aberto automaticamente para dar início ao processo de registro.

    2. Na tabela Chave de autenticação, copie uma das chaves de autenticação fornecidas no assistente e cole-a no Azure Data Studio.

      Screenshot that highlights the authentication key table in the wizard.

      Se a chave de autenticação for válida, um ícone de verificação verde aparecerá no Integration Runtime Configuration Manager. Uma verificação verde indica que você pode continuar a Registrar.

      Depois de registrar o runtime de integração auto-hospedada, feche o Microsoft Integration Runtime Configuration Manager.

      Observação

      Para obter mais informações sobre o runtime de integração auto-hospedada, consulte Criar e configurar um runtime de integração auto-hospedada.

  5. Em Criar Serviço de Migração de Banco de Dados do Azure no Azure Data Studio, selecione Testar conectividade para validar se a instância do Serviço de Migração de Banco de Dados está conectada ao runtime de integração auto-hospedada que acabou de ser registrado.

    Screenshot that shows IR connectivity test.

  6. Retorne ao assistente de migração no Azure Data Studio.

Iniciar a migração de banco de dados

Na Etapa 7: Resumo no assistente Migrar para o SQL do Azure, examine a configuração que você criou e selecione Iniciar migração para iniciar a migração de banco de dados.

Screenshot that shows how to start migration.

Monitorar a migração de banco de dados

  1. No Azure Data Studio, no menu do servidor em Geral, selecione Migração de SQL do Azure para ir para o painel de suas migrações do Banco de Dados SQL do Azure.

    Em Status de migração do banco de dados, você pode acompanhar as migrações que estão em andamento, que foram concluídas e que falharam (se houver) ou pode exibir todas as migrações de banco de dados.

    Screenshot that shows monitor migration dashboard.

  2. Selecione Migrações de banco de dados em andamento para exibir as migrações ativas.

    Para obter mais informações sobre uma migração específica, selecione o nome do banco de dados.

    Screenshot that shows database migration details.

    O Serviço de Migração de Banco de Dados retorna o status de migração conhecido mais recente sempre que o status da migração é atualizado. A seguinte tabela descreve os possíveis status:

    Status Descrição
    Preparando a cópia O serviço está desabilitando estatísticas automáticas, gatilhos e índices na tabela de destino.
    Copiando Os dados estão sendo copiados do banco de dados de origem no banco de dados de destino.
    Cópia concluída A cópia de dados foi concluída. O serviço está aguardando outras tabelas para concluir a cópia a fim de iniciar as etapas finais para retornar as tabelas ao esquema original.
    Como recriar índices O serviço está recompilando índices em tabelas de destino.
    Com sucesso Todos os dados são copiados e os índices são recriados.
  3. Verifique a página de detalhes da migração para exibir o status atual de cada banco de dados.

    Este é um exemplo da migração de banco de dados AdventureWorks2019 com o status Criando:

    Screenshot that shows a creating migration status.

  4. Na barra de menus, selecione Atualizar para atualizar o status da migração.

    Depois que o status da migração é atualizado, o status atualizado da migração do banco de dados de exemplo AdventureWorks2019 é Em andamento:

    Screenshot that shows a migration in progress status.

  5. Selecione um nome de banco de dados para abrir a exibição de tabela. Nessa exibição, você verá o status atual da migração, o número de tabelas que estão nesse status e um status detalhado de cada tabela.

    Screenshot that shows monitoring table migration.

    Quando todos os dados da tabela forem migrados para o destino do Banco de Dados SQL do Azure, o Serviço de Migração de Banco de Dados atualizará o status da migração de Em andamento para Bem-sucedido.

    Screenshot that shows succeeded migration.

Observação

O Serviço de Migração de Banco de Dados otimiza a migração ignorando tabelas sem dados (0 linha). Tabelas que não têm dados não aparecem na lista, mesmo que você selecione as tabelas ao criar a migração.

Você concluiu a migração para o Banco de Dados SQL do Azure. Incentivamos você a realizar uma série de tarefas pós-migração para garantir que tudo funcione de maneira estável e eficiente.

Importante

Não se esqueça de aproveitar os recursos avançados baseados em nuvem do Banco de Dados SQL do Azure. Os recursos incluem alta disponibilidade interna, detecção de ameaças e monitoramento e ajuste da carga de trabalho.

Limitações

A migração offline do Banco de Dados SQL do Azure utiliza pipelines do ADF (Azure Data Factory) para movimentação de dados e, portanto, segue as limitações do ADF. Um ADF correspondente é criado quando um serviço de migração de banco de dados também é criado. Portanto, os limites de fábrica se aplicam por serviço.

  • O computador em que o SHIR está instalado atua como a computação para migração. Verifique se esse computador pode lidar com a carga de CPU e memória da cópia de dados. Para saber mais, examine as recomendações do SHIR.
  • 100.000 tabelas por limite de banco de dados.
  • 10.000 migrações simultâneas de banco de dados por serviço.
  • A velocidade de migração depende muito do SKU do Banco de Dados SQL do Azure de destino e do host de runtime de integração auto-hospedada.
  • A migração do banco de dados SQL do Azure é mal escalonada com números de tabela devido à sobrecarga do ADF nas atividades iniciais. Se um banco de dados tiver milhares de tabelas, o processo de inicialização de cada tabela pode levar alguns segundos, mesmo que elas sejam compostas por uma linha com 1 bit de dados.
  • Atualmente, não há suporte para migração aos nomes de tabela do Banco de Dados SQL do Azure com caracteres de byte duplo. A mitigação é renomear tabelas antes da migração. Elas podem ser alteradas de volta para seus nomes originais após a migração bem-sucedida.
  • Tabelas com colunas grandes de blobs podem falhar ao migrar devido ao tempo limite.
  • Atualmente, não há suporte aos nomes de banco de dados com SQL Server reservados.
  • Atualmente, não há suporte aos nomes de banco de dados que incluem ponto e vírgula.
  • As colunas computadas não são migradas.

Próximas etapas