Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
Recomendamos que você use o novo serviço de migração no Banco de Dados do Azure para PostgreSQL para uma experiência de migração mais simplificada e eficiente. Este serviço simplifica o processo dando suporte a vários ambientes de origem, garantindo uma transição sem complicações para o Banco de Dados do Azure para PostgreSQL.
Para obter mais informações sobre o Serviço de Migração de Banco de Dados do Azure, consulte o artigo O que é o Serviço de Migração de Banco de Dados do Azure?
Você pode usar o Serviço de Migração de Banco de Dados do Azure para migrar os bancos de dados de uma instância do PostgreSQL local para o Banco de Dados do Azure para PostgreSQL com o mínimo de tempo de inatividade para o aplicativo. Neste tutorial, você migra o banco de dados de exemplo listdb de uma instância local do PostgreSQL 13.10 para o Banco de Dados do Azure para PostgreSQL usando a atividade de migração online no Serviço de Migração de Banco de Dados do Azure.
Neste tutorial, irá aprender a:
- Migre o esquema de exemplo usando o utilitário pg_dump.
- Crie uma instância do Azure Database Migration Service.
- Crie um projeto de migração no Serviço de Migração de Banco de Dados do Azure.
- Executar a migração.
- Monitorizar a migração.
- Execute a substituição de migração.
Usar o Serviço de Migração de Banco de Dados do Azure para executar uma migração online requer a criação de uma instância com base na camada de preço Premium. Encriptamos o disco para evitar o roubo de dados durante o processo de migração
Importante
Para uma experiência de migração ideal, a Microsoft recomenda a criação de uma instância do Serviço de Migração de Banco de Dados do Azure na mesma região do Azure que o banco de dados de destino. Mover dados entre regiões ou geografias pode retardar o processo de migração e introduzir erros.
Pré-requisitos
Para concluir este tutorial, precisa de:
Baixe e instale o PostgreSQL community edition. A versão de origem do PostgreSQL Server deve ser >= 9.4. Para obter mais informações, consulte Versões com suporte do PostgreSQL no Banco de Dados do Azure para PostgreSQL.
Observe também que a versão de destino do Banco de Dados do Azure para PostgreSQL deve ser igual ou posterior à versão local do PostgreSQL. Por exemplo, o PostgreSQL 12 pode migrar para o Banco de Dados do Azure para PostgreSQL >= versão 12, mas não para o Banco de Dados do Azure para PostgreSQL 11.
Crie uma Rede Virtual do Microsoft Azure para o Serviço de Migração de Banco de Dados do Azure usando o modelo de implantação do Azure Resource Manager, que fornece conectividade site a site para seus servidores de origem locais usando a Rota Expressa ou VPN. Para obter mais informações sobre como criar uma rede virtual, consulte a Documentação da Rede Virtual e, especialmente, os artigos de início rápido com detalhes passo a passo.
Durante a configuração da rede virtual, se utilizar o ExpressRoute com emparelhamento de rede para a Microsoft, adicione os seguintes pontos de extremidade de serviço à sub-rede na qual o serviço será provisionado:
- Ponto final da base de dados de destino (por exemplo, ponto final do SQL, ponto final do Azure Cosmos DB, etc.)
- Ponto final de armazenamento
- Ponto final do Service Bus
Esta configuração é necessária porque o Azure Database Migration Service não tem conectividade à Internet.
Certifique-se de que as regras do NSG (Grupo de Segurança de Rede) para sua rede virtual não bloqueiem a porta de saída 443 do ServiceTag para ServiceBus, Storage e AzureMonitor. Para obter mais detalhes sobre a filtragem de tráfego NSG de rede virtual, consulte o artigo Filtrar tráfego de rede com grupos de segurança de rede.
Configure o Firewall do Windows para acesso ao mecanismo de banco de dados.
Abra o Firewall do Windows para permitir que o Serviço de Migração de Banco de Dados do Azure acesse o PostgreSQL Server de origem, que por padrão é a porta TCP 5432.
Ao usar um dispositivo de firewall na frente de seus bancos de dados de origem, talvez seja necessário adicionar regras de firewall para permitir que o Serviço de Migração de Banco de Dados do Azure acesse os bancos de dados de origem para migração.
Crie uma regra de firewall no nível de servidor para o Banco de Dados do Azure para PostgreSQL para permitir que o Serviço de Migração de Banco de Dados do Azure acesse os bancos de dados de destino. Forneça o intervalo de sub-redes da rede virtual utilizada no Azure Database Migration Service.
Habilite a replicação lógica no ficheiro
postgresql.confige defina os seguintes parâmetros:-
wal_level=logical. -
max_replication_slots= [número de slots], recomendo a configuração para5slots. -
max_wal_senders= [número de tarefas simultâneas]. Omax_wal_sendersparâmetro define o número de tarefas simultâneas que podem ser executadas, recomendo a configuração para10tarefas.
-
O usuário deve ter a
REPLICATIONfunção no servidor que hospeda o banco de dados de origem.
Importante
Todas as tabelas em seu banco de dados existente precisam de uma chave primária para garantir que as alterações possam ser sincronizadas com o banco de dados de destino.
Migrar o esquema de exemplo
Para concluir todos os objetos de banco de dados, como esquemas de tabela, índices e procedimentos armazenados, precisamos extrair o esquema do banco de dados de origem e aplicar ao banco de dados.
Use
pg_dump -so comando para criar um ficheiro de exportação do esquema para uma base de dados.pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sqlPor exemplo, para criar um arquivo de despejo de esquema para o banco de dados listdb :
pg_dump -O -h localhost -U postgres -d listdb -s -x > listdbSchema.sqlPara obter mais informações sobre como usar o utilitário pg_dump, consulte os exemplos no tutorial pg-dump .
Crie uma base de dados vazia no ambiente de destino, que é a Base de Dados do Azure para PostgreSQL.
Para obter detalhes sobre como conectar e criar um banco de dados, consulte o artigo Criar um Banco de Dados do Azure para o servidor PostgreSQL no portal do Azure.
Importe o esquema para a base de dados de destino que criou ao restaurar o ficheiro de captura de esquema.
psql -h hostname -U db_username -d db_name < your_schema.sqlPor exemplo:
psql -h mypgserver-20170401.postgres.database.azure.com -U postgres -d migratedb < listdbSchema.sqlNota
O serviço de migração lida internamente com a habilitação e desativação de chaves e gatilhos estrangeiros, para garantir uma migração de dados confiável e robusta. Como resultado, você não precisa se preocupar em fazer modificações no esquema do banco de dados de destino.
Registar o fornecedor de recursos
Registe o fornecedor de recursos Microsoft.DataMigration antes de criar a primeira instância do Database Migration Service.
Inicie sessão no portal do Azure. Pesquise e selecione Subscrições.
Selecione a assinatura na qual você deseja criar a instância do Serviço de Migração de Banco de Dados do Azure e selecione Provedores de recursos.
Procure migração e selecione Registrar para Microsoft.DataMigration.
Criar uma instância do Azure Database Migration Service
No menu do portal do Azure ou na página inicial , selecione Criar um recurso. Procure e selecione Serviço de Migração de Banco de Dados do Azure.
Na tela Serviço de Migração de Banco de Dados do Azure , selecione Criar.
Selecione o tipo de servidor de origem e o tipo de servidor de destino apropriados e escolha a opção Serviço de Migração de Banco de Dados (Clássico ).
No ecrã de fundamentos do Serviço de Migração
- Selecione uma subscrição.
- Crie um novo grupo de recursos ou escolha um existente.
- Especifique um nome para a instância do Serviço de Migração de Banco de Dados do Azure.
- Selecione o local no qual você deseja criar a instância do Serviço de Migração de Banco de Dados do Azure.
- Escolha Azure como o modo de serviço.
- Selecione um escalão de preço. Para obter mais informações sobre custos e níveis de preços, consulte a página de preços.
- Selecione Next: Networking.
Na ecrã Criar Serviço de Migração de Rede:
- Selecione uma rede virtual existente ou crie uma nova. A rede virtual fornece ao Serviço de Migração de Banco de Dados do Azure acesso ao servidor de origem e à instância de destino. Para obter mais informações sobre como criar uma rede virtual no portal do Azure, consulte o artigo Criar uma rede virtual usando o portal do Azure.
Selecione Rever + Criar para rever os detalhes e, em seguida, selecione Criar para criar o serviço.
Após alguns momentos, sua instância do serviço de Migração de Banco de Dados do Azure é criada e está pronta para uso:
Criar um projeto de migração
Após a criação do serviço, localize-o no portal do Azure, abra-o e crie um projeto de migração novo.
No portal do Azure, selecione Todos os serviços, procure Serviço de Migração de Banco de Dados do Azure e selecione Serviços de Migração de Banco de Dados do Azure.
Na tela Serviços de Migração de Banco de Dados do Azure , procure o nome da instância do Serviço de Migração de Banco de Dados do Azure que você criou, selecione a instância e selecione + Novo Projeto de Migração.
Na tela Novo projeto de migração, especifique um nome para o projeto, na caixa de texto Tipo de servidor de origem, selecione PostgreSQL, na caixa de texto Tipo de servidor de destino, selecione Banco de Dados do Azure para PostgreSQL.
Na seção Tipo de atividade de migração , selecione Migração de dados online.
Como alternativa, você pode escolher Criar projeto apenas para criar o projeto de migração agora e executar a migração mais tarde.
Selecione Criar e executar atividade para usar com êxito o Serviço de Migração de Banco de Dados do Azure para migrar dados.
Especifique os detalhes da origem
Na tela Adicionar detalhes da fonte , especifique os detalhes da conexão para a instância do PostgreSQL de origem.
Especifique os detalhes do destino
No ecrã Detalhes do destino, especifique os detalhes da conexão para a Base de Dados de Destino do Azure para PostgreSQL - Servidor Flexível, que é a instância pré-provisionada onde o esquema foi implementado usando o pg_dump.
Selecione Avançar:Selecionar bancos de dados e, na tela Selecionar bancos de dados , mapeie o banco de dados de origem e de destino para migração.
Se o banco de dados de destino contiver o mesmo nome de banco de dados que o banco de dados de origem, o Serviço de Migração de Banco de Dados do Azure selecionará o banco de dados de destino por padrão.
Selecione Avançar:Selecionar tabelas e, na tela Selecionar tabelas , selecione as tabelas necessárias que precisam ser migradas.
Selecione Avançar:Configurar configurações de migração e, na tela Configurar configurações de migração , aceite os valores padrão.
Na tela Resumo da migração , na caixa de texto Nome da atividade, especifique um nome para a atividade de migração e revise o resumo para garantir que os detalhes de origem e destino correspondam ao que você especificou anteriormente.
Execute a migração
Selecione Iniciar migração.
A janela de atividade de migração é exibida e o Status da atividade deve ser atualizado para ser exibido como Backup em andamento.
Monitorize a migração
Na tela de atividade de migração, selecione Atualizar para atualizar a exibição até que o Status da migração seja exibido como Concluído.
Quando a migração estiver concluída, em Nome do Banco de Dados, selecione um banco de dados específico para obter o status da migração para Carga total de dados e Operações de sincronização de dados incrementais .
Nota
A carga de dados completa mostra o estado de migração de carga inicial, enquanto a sincronização de dados incremental mostra o estado de captura de dados modificados (CDC).
Realize a transferência da migração
Após a conclusão da carga completa inicial, os bancos de dados são marcados como Pronto para substituição.
Quando estiver pronto para concluir a migração do banco de dados, selecione Iniciar Corte.
Aguarde até que o contador Alterações pendentes seja exibido
0para garantir que todas as transações de entrada no banco de dados de origem sejam interrompidas, marque a caixa de seleção Confirmar e selecione Aplicar.Quando o status de migração do banco de dados mostrar Concluído, recrie sequências (se aplicável) e conecte seus aplicativos à nova instância de destino do Banco de Dados do Azure para PostgreSQL.