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

Você pode usar o Serviço de Migração de Banco de Dados do Azure por meio da extensão de Migração do SQL do Azure para o 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 exemplo 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, irá aprender a:

  • Abra o assistente Migrar para o Azure SQL no Azure Data Studio
  • Executar uma avaliação dos bancos de dados SQL Server de origem
  • Coletar dados de desempenho da instância de origem do SQL Server
  • Obtenha uma recomendação da SKU do Banco de Dados SQL do Azure que funcionará melhor para sua carga de trabalho
  • Criar uma instância do Azure Database Migration Service
  • Inicie a migração e monitore o progresso até a conclusão

Gorjeta

No Serviço de Migração de Banco de Dados do Azure, você pode migrar seus bancos de dados offline ou enquanto eles estiverem online. Em uma migração offline , o tempo de inatividade do aplicativo começa quando a migração é iniciada. Para limitar o tempo de inatividade ao tempo necessário para o novo ambiente após a migração, use uma migração online . Recomendamos que você teste 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 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 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 SQL do Azure a partir do Azure Data Studio Marketplace.

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

    • Colaborador para a instância de destino do Banco de Dados SQL do Azure
    • 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 nova 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 ou 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 é membro da função db_datareader e se o logon da instância do SQL Server de destino é 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.

  • Se estiver a utilizar o Serviço de Migração de Base de Dados pela primeira vez, certifique-se de que o fornecedor de recursos Microsoft.DataMigration está registado na sua subscrição.

Nota

Agora, você pode migrar o esquema e os dados do banco de 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 nenhuma tabela for selecionada antes de iniciar a migração, o botão Avançar não estará disponível 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.

Abra o assistente Migrar para o Azure SQL no Azure Data Studio

Para abrir o assistente Migrar para o Azure SQL:

  1. No Azure Data Studio, vá para Conexões. Selecione e conecte-se à sua instância local do SQL Server. 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 do 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 SQL do Azure.

    Screenshot that shows the Azure Data Studio server menu.

  4. No painel de Migração do SQL do Azure, selecione Migrar para o Azure SQL 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.

Execute a avaliação do banco de dados, colete dados de desempenho e obtenha recomendações do Azure

  1. Em Etapa 1: Bancos de dados para avaliação no assistente Migrar para o Azure SQL, selecione os bancos de dados que você deseja avaliar. Em seguida, selecione Seguinte.

    Screenshot that shows selecting a database for assessment.

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

    1. Em Escolha seu destino SQL do Azure, selecione Banco de Dados SQL do Azure.

      Screenshot that shows selecting the Azure SQL Database target.

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

      Screenshot that shows view/select assessment results.

    3. Nos resultados da avaliação, selecione o banco de dados e revise o relatório de avaliação para garantir que nenhum problema seja 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. Depois que a primeira recomendação for gerada, você poderá selecionar Reiniciar a coleta de dados para continuar o processo de coleta de dados e refinar a recomendação de SKU. Uma avaliação alargada é especialmente útil se os seus padrões de utilização variarem ao longo do tempo.

      Screenshot that shows performance data collected.

    6. No destino selecionado do Banco de Dados SQL do Azure, selecione Exibir 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 Rever Recomendações da Base de Dados SQL do Azure, reveja 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 continuar a migração do banco de dados no assistente.

Configurar as definições da migração

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

    1. Selecione sua conta do Azure, a assinatura do Azure, a região ou 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 o Servidor do Banco de Dados SQL do Azure, selecione o servidor do Banco de Dados SQL do Azure de destino (servidor lógico). Insira um nome de usuário e 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 passar para a próxima etapa no assistente de migração.

      Screenshot that shows source and target mapping.

  2. Em Etapa 4: Modo de migração, selecione Migração offline e, em seguida, selecione 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 Editar lápis.

      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. Pode selecionar uma ou mais tabelas. Em seguida, selecione Atualizar.

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

      No exemplo a seguir, um filtro de texto é aplicado para selecionar tabelas que contêm a palavra Employee. Selecione uma lista de tabelas com base nas suas necessidades de migração.

      Screenshot that shows the table selection.

  4. Reveja as suas seleções de tabela e, em seguida, selecione Seguinte para avançar para o passo seguinte no assistente de migração.

    Screenshot that shows selected tables to migrate.

Nota

Se nenhuma tabela for 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 e os dados do banco de 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 nova instância do Serviço de Migração de Banco de Dados ou reutilize uma instância existente criada anteriormente.

Nota

Se você criou anteriormente uma instância do Serviço de Migração de Banco de Dados usando o portal do Azure, não poderá reutilizar a instância no assistente de migração no Azure Data Studio. Você pode reutilizar uma instância somente se tiver criado a instância 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. No 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 Seguinte.

    Screenshot that shows Database Migration Service selection.

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

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

  1. Em Grupo de recursos, crie um novo grupo de recursos para 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 novo.

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

  4. Em Configurar o tempo de execução da integração, conclua as seguintes etapas:

    1. Selecione o link Baixar e instalar o tempo de execução de integração para abrir o link de download em um navegador da Web. Baixe o tempo de execução da 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 estiver concluída, o Microsoft Integration Runtime Configuration Manager será aberto automaticamente para iniciar o 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 será exibido no Integration Runtime Configuration Manager. Uma verificação verde indica que pode continuar a Registar-se.

      Depois de registrar o tempo de execução de integração auto-hospedado, feche o Microsoft Integration Runtime Configuration Manager.

      Nota

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

  5. Em Criar Serviço de Migração de Banco de Dados do Azure no Azure Data Studio, selecione Testar conexão para validar se a instância do Serviço de Migração de Banco de Dados recém-criada está conectada ao tempo de execução de integração auto-hospedado recém-registrado.

    Screenshot that shows IR connectivity test.

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

Iniciar a migração do banco de dados

Na Etapa 7: Resumo no assistente Migrar para o SQL do Azure, revise a configuração criada e selecione Iniciar migração para iniciar a migração do banco de dados.

Screenshot that shows how to start migration.

Monitorar a migração do banco de dados

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

    Em Status da migração do banco de dados, você pode acompanhar as migrações em andamento, concluídas e com falha (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 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 tabela a seguir descreve os status possíveis:

    Estado Description
    Preparação para a cópia O serviço está desativando autostats, gatilhos e índices na tabela de destino.
    Cópia Os dados estão sendo copiados do banco de dados de origem para o banco de dados de destino.
    Cópia concluída A cópia dos dados foi concluída. O serviço está aguardando em outras tabelas para concluir a cópia para iniciar as etapas finais para retornar as tabelas ao esquema original.
    Reconstruir índices O serviço está reconstruindo índices em tabelas de destino.
    Com êxito Todos os dados são copiados e os índices são reconstruídos.
  3. Verifique a página de detalhes da migração para exibir o status atual de cada banco de dados.

    Aqui está um exemplo da migração do banco de AdventureWorks2019 dados 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 para a migração de banco de dados de exemplo AdventureWorks2019 está 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ê vê o status atual da migração, o número de tabelas que estão atualmente nesse status e um status detalhado de cada tabela.

    Screenshot that shows monitoring table migration.

    Quando todos os dados da tabela são migrados para o destino do Banco de Dados SQL do Azure, o Serviço de Migração de Banco de Dados atualiza o status da migração de Em andamento para Com êxito.

    Screenshot that shows succeeded migration.

Nota

O Serviço de Migração de Banco de Dados otimiza a migração ignorando tabelas sem dados (0 linhas). As 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 passar por uma série de tarefas pós-migração para garantir que tudo funcione de forma suave e eficiente.

Importante

Certifique-se de aproveitar os recursos avançados baseados em nuvem do Banco de Dados SQL do Azure. Os recursos incluem alta disponibilidade integrada, deteção de ameaças e monitoramento e ajuste de sua carga de trabalho.

Limitações

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

  • A máquina onde o SHIR está instalado atua como o cálculo para a migração. Certifique-se de que esta máquina pode lidar com a carga de CPU e memória da cópia de dados. Para saber mais, consulte as recomendações do SHIR.
  • Limite de 100.000 tabelas por banco de dados.
  • 10.000 migrações simultâneas de banco de dados por serviço.
  • A velocidade de migração depende muito da SKU do Banco de Dados SQL do Azure de destino e do host do Integration Runtime auto-hospedado.
  • A migração do Banco de Dados SQL do Azure é mal dimensionada com números de tabela devido à sobrecarga do ADF no início das atividades. 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 de nomes de tabela do Banco de Dados SQL do Azure com caracteres de byte duplo. A mitigação consiste em renomear tabelas antes da migração; eles podem ser alterados de volta aos seus nomes originais após a migração bem-sucedida.
  • Tabelas com colunas de blob grandes podem falhar na migração devido ao tempo limite.
  • No momento, não há suporte para nomes de bancos de dados com o SQL Server reservado.
  • Atualmente, não há suporte para nomes de banco de dados que incluam ponto-e-vírgula.
  • As colunas computadas não são migradas.

Próximos passos