Copiar ou mover um banco de dados: Instância Gerenciada de SQL do Azure

Aplica-se a:Instância Gerenciada de SQL do Azure

Este artigo descreve como copiar ou mover um banco de dados online entre instâncias na Instância Gerenciada de SQL do Azure. As operações de cópia e movimentação do banco de dados têm suporte em diferentes assinaturas do Azure no mesmo locatário do Azure.

Visão geral

Você pode executar uma operação online de cópia ou movimentação do banco de dados entre instâncias gerenciadas usando a tecnologia de grupo de disponibilidade Always On. O recurso copiar e mover cria um novo banco de dados na instância de destino como uma cópia do banco de dados de origem. Com esse recurso, a duplicação de dados é confiável, consistente, assíncrona e quase em tempo real.

Quando você copia um banco de dados, o banco de dados de origem permanece online durante e após a conclusão da operação.

Por outro lado, quando você move um banco de dados, o banco de dados de origem é removido após a conclusão da operação.

Você pode executar várias operações de cópia e movimentação de banco de dados da instância gerenciada de origem para uma ou mais instâncias de destino.

Copiar e mover um banco de dados é diferente da PITR (restauração pontual), pois cria uma cópia do banco de dados após a conclusão da operação. A PITR cria uma cópia do banco de dados de um momento especificado no passado.

Importante

Quando você move um banco de dados para um novo destino, os backups PITR existentes não são movidos com o banco de dados e não estão disponíveis. O banco de dados inicia uma nova cadeia de backup na instância de destino no momento em que a operação de movimentação é concluída.

Quando usar o recurso

Mover ou copiar um banco de dados é útil quando você deseja:

  • Gerenciar os requisitos de crescimento e desempenho do banco de dados.
  • Balancear as cargas de trabalho em várias instâncias gerenciadas.
  • Mover bancos de dados para uma instância com mais recursos disponíveis para lidar com a carga de trabalho.
  • Consolide vários bancos de dados de várias instâncias.
  • Criar a paridade de banco de dados entre ambientes de desenvolvimento, teste e produção.

Fluxo de trabalho

Este é o fluxo de trabalho para copiar ou mover um banco de dados:

  1. Escolha o banco de dados, a instância gerenciada de origem, a instância de destino e inicie a operação.

    O banco de dados é propagado para o servidor de destino. Verifique o status para determinar se a operação está em andamento ou se ela foi bem-sucedida.

  2. Após a conclusão da propagação, o estado da operação é mostrado como pronto para conclusão.

    Até que a operação seja concluída manualmente, todas as alterações que ocorrem no banco de dados de origem são aplicadas ao banco de dados de destino. Você pode cancelar uma operação a qualquer momento. Você tem 24 horas para concluir explicitamente a operação. Se você não concluir a operação dentro de 24 horas, ela será cancelada automaticamente e o banco de dados de destino será removido.

  3. Após a conclusão manual da operação, o banco de dados de destino ficará online e estará pronto para cargas de trabalho de leitura/gravação.

  4. Se você optar por mover o banco de dados, o banco de dados de origem será descartado. Se você optar por copiar o banco de dados, o banco de dados de origem permanecerá online, mas a sincronização de dados será interrompida.

Um exemplo de fluxo de trabalho para uma operação de movimentação é ilustrado no diagrama a seguir:

Diagram that illustrates the workflow of a move operation.

O design da operação de movimentação do banco de dados garante que não haja perda de dados. Quando um usuário conclui a operação de movimentação, o banco de dados de origem para de aceitar cargas de trabalho e a transação é replicada para o banco de dados de destino. Somente então o banco de dados de destino fica online e o banco de dados de origem é descartado. Esse design garante que todos os dados do banco de dados de origem sejam movidos para o banco de dados de destino.

A operação de cópia do banco de dados é semelhante à movimentação do banco de dados. A única diferença importante é como a operação termina. A conclusão da operação de cópia do banco de dados interrompe a duplicação do log de transações para o banco de dados de destino. Embora o usuário emita explicitamente o comando para concluir a operação de cópia, o usuário não controla o momento exato em que a duplicação de log é interrompida. Finalmente, os bancos de dados de origem e de destino estão online, independentes e prontos para a carga de trabalho de leitura/gravação.

Pré-requisitos

Antes de copiar ou mover um banco de dados, você deve atender aos seguintes requisitos:

  • Você deve ter permissões de leitura para o grupo de recursos que contém a instância gerenciada de origem e deve ter permissões de gravação no nível do banco de dados para as instâncias de origem e destino.
  • Se as instâncias de origem e de destino estiverem em redes virtuais diferentes, precisará haver conectividade de rede entre as redes virtuais das duas instâncias, como acontece com o Emparelhamento de rede virtual do Azure. Além disso, o tráfego de entrada e saída na porta 5022 e no intervalo de portas 11000-11999 precisa ser permitido para o protocolo TCP. Isso se aplica às sub-redes que hospedam as instâncias de origem e de destino. Esta é a documentação sobre como estabelecer conectividade de rede entre instâncias em diferentes VNets do Azure.

Copiar ou mover um banco de dados

Você pode copiar ou mover um banco de dados para outra instância gerenciada usando o portal do Azure. Para fazer isso:

  1. Acesse sua instância gerenciada no portal do Azure.

  2. Em Gerenciamento de dados selecione Bancos de dados.

  3. Selecione um ou mais bancos de dados e, em seguida, selecione a opção Copiar ou Mover na parte superior do painel.

    A seleção da opção Mover remove o banco de dados de origem quando a operação é concluída, enquanto a seleção Copiar deixa o banco de dados de origem online quando a operação é concluída. A seleção de uma das opções abrirá a página Mover Banco de Dados Gerenciado ou Copiar Banco de Dados Gerenciado. Após abrir a página, selecione mais bancos de dados a serem incluídos na operação.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, with the 'Move' and 'Copy' options highlighted.

  4. No painel Detalhes da origem, forneça detalhes para o banco de dados de origem e a instância gerenciada.

  5. No painel Detalhes do destino, forneça detalhes para a instância gerenciada de destino.

  6. Selecione Revisar + Iniciar para validar os detalhes de origem e de destino e selecione Iniciar para iniciar a operação.

    A seleção da opção Iniciar leva você de volta à página Bancos de Dados da instância, na qual você poderá monitorar o progresso da operação.

  7. Na página Bancos de Dados, verifique a coluna Detalhes da operação para verificar se o status da operação é Mover em andamento ou Copiar em andamento.

    Se você precisar cancelar a operação, selecione Em andamento, selecione o banco de no qual está trabalhando e selecione Cancelar operação para interromper a propagação e remover o banco de dados de destino.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, showing that a copy operation is in progress.

  8. Monitore a operação. Depois que a propagação for concluída, a coluna Detalhes da operação exibirá o status Mover pronto para conclusão ou Copiar pronto para conclusão.

  9. Selecione Pronto para conclusão para abrir a coluna Detalhes da operação, escolha o banco de dados que você está pronto para copiar ou mover e, em seguida, selecione Concluir para finalizar a operação e colocar o banco de dados de destino online.

    As alterações feitas no banco de dados de origem são replicadas para o banco de dados de destino durante esse período até que você selecione Concluir. Se você não concluir a operação dentro de 24 horas, ela será cancelada automaticamente e o banco de dados de destino será removido. Selecionar Concluir finaliza a operação e leva você de volta à página Bancos de Dados, onde você pode verificar se a operação foi concluída.

    Se você tiver movido o banco de dados, o nome do banco de dados não estará disponível porque ele agora está offline.

Desempenho de operações de cópia e movimentação

As operações de cópia e movimentação do banco de dados têm duas fases. A primeira é a propagação inicial, e a segunda é a replicação de alterações do banco de dados de origem para o banco de dados de destino. Normalmente, a propagação inicial é uma fase mais exigente da operação. O tempo necessário para que a propagação inicial seja concluída depende do tamanho dos dados e do número de operações ativas de cópia ou movimentação. A intensidade da carga de trabalho que está acontecendo na Instância Gerenciada de SQL do Azure de origem e destino e a velocidade da rede entre origem e destino também influenciarão a velocidade de propagação. Em circunstâncias ideais, e quando a conectividade entre origem e destino é estabelecida usando o Emparelhamento VNET global recomendado, a velocidade de propagação é de até 360 GB por hora. O processo de propagação e sua velocidade podem ser monitorados por meio do sys.dm_hadr_physical_seeding_stats do DMV.

SELECT 
	role_desc,
	transfer_rate_bytes_per_second,
	transferred_size_bytes,
	database_size_bytes,
	start_time_utc,
	estimate_time_complete_utc,
	end_time_utc,
	local_physical_seeding_id
FROM
	sys.dm_hadr_physical_seeding_stats;

Limitações

Considere as seguintes limitações do recurso Copiar e mover:

  • A instância de origem e de destino não pode ser a mesma.
  • A instância de origem e a de destino precisam estar na mesma região do Azure.
  • Você só pode copiar e mover bancos de dados de usuário. Não há suporte para a cópia nem para a movimentação de bancos de dados do sistema.
  • Um banco de dados só pode participar de uma só operação de movimentação ou de cópia por vez.
  • A instância de origem pode executar até oito operações de cópia ou movimentação por vez. Você pode iniciar mais de oito operações, mas algumas são colocadas na fila e processadas posteriormente, conforme gerenciado pelo serviço.
  • Não é possível renomear um banco de dados durante uma operação de cópia ou movimentação.
  • As tags de banco de dados não são copiadas com a operação de copiar ou mover.
  • As operações de cópia e a movimentação do banco de dados não copiam nem movem backups de restauração pontual.
  • Não é possível copiar nem mover um banco de dados que faça parte de um grupo de failover ou usando o link da Instância Gerenciada.
  • A instância gerenciada de origem ou de destino não tem uma configuração de grupo de failover (recuperação de desastre geográfico).
  • Você precisará reconfigurar a replicação transacional, a CDA (captura de dados de alterações) ou as transações distribuídas depois de mover um banco de dados que dependa desses recursos.

Mais documentação relacionada à cópia e movimentação do banco de dados.

Para ver outras opções de movimentação de dados, confira: