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 AdventureWorks2022
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:
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 do SHIR mínima necessária e com suporte é a 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 de Banco de Dados SQL no Azure Data Studio para migrar o esquema antes de selecionar a lista das tabelas a serem migradas.
Quando não há tabelas no destino do Banco de Dados SQL do Azure ou nenhuma tabela é selecionada antes de iniciar a migração, o botão Avançar não fica disponível para iniciar a tarefa de migração. Quando não existe nenhuma tabela no destino, você deve 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:
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.
Clique com o botão direito do mouse na conexão de servidor e selecione Gerenciar.
No menu do servidor, em Geral, selecione Migração de SQL do Azure.
No painel da Migração de SQL do Azure, selecione Migrar para o SQL do Azure para abrir o assistente de migração.
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
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.
Na Etapa 2: Resultados e recomendações da avaliação, conclua as seguintes etapas:
Em Escolher o destino do SQL do Azure, selecione Banco de Dados SQL do Azure.
Selecione Exibir/Selecionar para exibir os resultados da avaliação.
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.
Selecione Obter recomendação do Azure para abrir o painel de recomendações.
Selecione Coletar dados de desempenho agora. Selecione uma pasta no computador local para armazenar os logs de desempenho e selecione Iniciar.
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.
No destino Banco de Dados SQL do Azure selecionado, clique em Ver detalhes para abrir o relatório detalhado de recomendação de SKU:
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.
Selecione Fechar para fechar o painel de recomendações.
Selecione Avançar para dar continuidade à migração de banco de dados no assistente.
Definir as configurações de migração
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:
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.
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.
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.
Na Etapa 4: Modo de migração, selecione Migração offline e Avançar.
Na Etapa 5: Configuração da fonte de dados, conclua as seguintes etapas:
Em Credenciais de origem, insira as credenciais do SQL Server de origem.
Em Selecionar tabelas, selecione o ícone de lápis Editar.
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.
Examine as seleções de tabela e selecione Avançar para passar para a próxima etapa no assistente de migração.
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 de Banco de Dados SQL no Azure Data Studio para migrar o esquema antes de selecionar a lista das 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:
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.
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.
Selecione Avançar.
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:
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.
Em Serviço de Migração de Banco de Dados do Azure, selecione Criar.
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.
Em Configurar runtime de integração, conclua as seguintes etapas:
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.
Quando a instalação for concluída, o Microsoft Integration Runtime Configuration Manager será aberto automaticamente para dar início ao processo de registro.
Na tabela Chave de autenticação, copie uma das chaves de autenticação fornecidas no assistente e cole-a no Azure Data Studio.
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.
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.
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.
Monitorar a migração de banco de dados
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.
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.
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. Êxito Todos os dados são copiados e os índices são recriados. 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
AdventureWorks2022
com o status Criando: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
AdventureWorks2022
é Em andamento: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.
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.
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 Criar e configurar um runtime de integração auto-hospedada.
- 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.