Gerenciar jobs de migração

No console do Google Cloud , é possível realizar ações em massa para trabalhos de migração que têm o mesmo status. É possível realizar ações em um único job de migração no console Google Cloud e usando a Google Cloud CLI.

Você pode realizar as seguintes ações em jobs de migração:

Ação Descrição
Editar

É possível editar jobs de migração que não sejam rascunhos para fazer as seguintes mudanças:

Iniciar Iniciar jobs de migração que não estão no estado Em execução ou Iniciando. Consulte Status do job de migração.
Parar Interrompe um job de migração em execução. O movimento de dados é pausado. O status do job de migração muda primeiro para Stopping e depois para Stopped. É possível retomar, excluir ou promover um job de migração interrompido.
Retomar Se você interromper um job de migração durante o carregamento incremental, poderá retomá-lo mais tarde. Quando você retoma um job de migração, Database Migration Service coleta todos os arquivos de registro de transações acumulados quando o job de migração é interrompido.
Reiniciar

É possível reiniciar um job de migração que encontrou um erro e não pode continuar com a replicação de dados.

O resultado da reinicialização de um job de migração depende de um dos seguintes motivos da falha:

  • Os jobs de migração com falha que não podem se recuperar do erro tentam todo o processo de migração novamente, incluindo o carregamento inicial do arquivo de backup completo.
  • Se a replicação falhar devido a um erro em um ou mais bancos de dados de origem ou destino, reiniciar a migração vai limpar todos os dados dos bancos de dados de destino.
  • Se você criar uma pasta para outro banco de dados depois de iniciar a migração e adicionar aos bancos de dados selecionados para migração, reiniciar a migração também vai replicar os novos bancos de dados na instância de destino.
Excluir Um job de migração pode ser excluído. O resultado depende do status do job:
  • Se o job de migração estiver no status Completed, o registro será excluído da lista de jobs de migração.
  • Se o job de migração estiver em qualquer outro status, haverá uma opção para excluir a instância de destino do Cloud SQL/par primário.
Promover Durante o processo de migração, os bancos de dados de destino do Cloud SQL para SQL Server são colocados no modo de recuperação, em que são totalmente gerenciados pelo Database Migration Service. Não é possível realizar operações de leitura ou gravação nos bancos de dados de destino até promover o job de migração ou os bancos de dados selecionados. Para mais informações, consulte Promover uma migração.
Ver É possível ver os detalhes de um banco de dados específico em um job de migração ou todos os bancos de dados selecionados para migração.

Iniciar um job de migração

Quando o job de migração estiver totalmente criado (ou seja, não estiver salvo em um estado de rascunho), você poderá iniciá-lo a qualquer momento para começar a migrar os dados.

Para iniciar um job de migração, siga estas etapas:

Console

  1. No console Google Cloud , acesse a página Jobs de migração.

    Acessar "Jobs de migração"

  2. Na guia Jobs, clique no nome de exibição do job de migração que você quer iniciar.

    A página de detalhes do job de migração é aberta.

  3. Clique em Iniciar.
  4. Na caixa de diálogo, clique em Iniciar.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID com o identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e ver os identificadores deles.

  • REGION com o identificador da região em que o perfil de conexão está salvo.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
start MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
start MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
start MIGRATION_JOB_ID ^
  --region=REGION

Resultado

A ação é realizada de forma assíncrona. Assim, esse comando retorna uma entidade de operação que representa uma operação de longa duração:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: start
name: OPERATION_ID
Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Interromper um job de migração

Você pode interromper um job de migração em execução a qualquer momento seguindo estas etapas:

Console

  1. No console Google Cloud , acesse a página Jobs de migração.

    Acessar "Jobs de migração"

  2. Na guia Jobs, clique no nome de exibição do job de migração que você quer iniciar.

    A página de detalhes do job de migração é aberta.

  3. Clique em Interromper.
  4. Na caixa de diálogo, clique em Parar.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID com o identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e ver os identificadores deles.

  • REGION com o identificador da região em que o perfil de conexão está salvo.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
stop MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
stop MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
stop MIGRATION_JOB_ID ^
  --region=REGION

Resultado

A ação é realizada de forma assíncrona. Assim, esse comando retorna uma entidade de operação que representa uma operação de longa duração:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: stop
name: OPERATION_ID
Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Retomar um job de migração

Para retomar um job de migração interrompido, siga estas etapas:

Console

  1. No console Google Cloud , acesse a página Jobs de migração.

    Acessar "Jobs de migração"

  2. Na guia Jobs, clique no nome de exibição do job de migração que você quer iniciar.

    A página de detalhes do job de migração é aberta.

  3. Clique em Retomar.
  4. Na caixa de diálogo, clique em Retomar.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID com o identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e ver os identificadores deles.

  • REGION com o identificador da região em que o perfil de conexão está salvo.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
resume MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
resume MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
resume MIGRATION_JOB_ID ^
  --region=REGION

Resultado

A ação é realizada de forma assíncrona. Assim, esse comando retorna uma entidade de operação que representa uma operação de longa duração:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: resume
name: OPERATION_ID
Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Reiniciar um job de migração

Para reiniciar um job de migração, siga estas etapas:

Console

  1. No console Google Cloud , acesse a página Jobs de migração.

    Acessar "Jobs de migração"

  2. Na guia Jobs, clique no nome de exibição do job de migração que você quer reiniciar.

    A página de detalhes do job de migração é aberta.

  3. Execute uma das seguintes ações de reinicialização:
    • Se quiser reiniciar todos os bancos de dados incluídos na migração, clique em Reiniciar na barra de ferramentas do job de migração.

      A caixa de diálogo "Reiniciar job de migração" aparece.

    • Se quiser reiniciar apenas bancos de dados específicos, selecione-os usando as caixas de seleção ao lado dos nomes deles e, na guia Bancos de dados, clique em Reiniciar.

      A caixa de diálogo com o número de bancos de dados que você quer reiniciar aparece.

  4. Na caixa de diálogo, clique em Reiniciar.

gcloud

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID com o identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e ver os identificadores deles.

  • REGION com o identificador da região em que o perfil de conexão está salvo.
  • Opcional: por padrão, o Database Migration Service migra todos os bancos de dados na sua origem. Se você quiser migrar apenas bancos de dados específicos, use a flag --databases-filter e especifique os identificadores como uma lista separada por vírgulas.

    Por exemplo: --databases-filter=my-business-database,my-other-database

    É possível editar depois os jobs de migração criados com o --database-filter flag usando o comando gcloud database-migration migration-jobs update.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
restart MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
restart MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
restart MIGRATION_JOB_ID ^
  --region=REGION

Resultado

A ação é realizada de forma assíncrona. Assim, esse comando retorna uma entidade de operação que representa uma operação de longa duração:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: restart
name: OPERATION_ID
Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Atualizar um job de migração em rascunho

Para concluir a criação de um job de migração, siga estas etapas:

Console

  1. No console Google Cloud , acesse a página Jobs de migração.

    Acessar "Jobs de migração"

  2. Na guia Rascunhos, clique no nome de exibição do job de migração que você quer terminar de criar.

    O assistente de criação de jobs de migração é aberto.

  3. Conclua a criação do job de migração. Consulte Criar um job de migração.

gcloud

Este exemplo usa a flag opcional --no-async para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID com um identificador legível por máquina para seu job de migração.
  • REGION com o identificador da região em que você quer salvar o perfil de conexão.
  • MIGRATION_JOB_NAME com um nome legível para o job de migração. Esse valor é exibido no Database Migration Service no console Google Cloud .
  • SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de origem.
  • DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de destino.
  • Configuração de backup diferencial: é possível configurar se o job de migração pode usar arquivos de backup diferencial do bucket do Cloud Storage. Adicione uma das seguintes flags ao comando:
    • --sqlserver-diff-backup para ativar arquivos de backup diferencial para sua migração
    • --no-sqlserver-diff-backup para desativar os arquivos de backup diferencial para sua migração

    Para mais informações sobre os arquivos de backup compatíveis, consulte Tipos de arquivos de backup compatíveis.

  • COMMA_SEPARATED_DATABASE_ID_LIST com uma lista separada por vírgulas de identificadores de banco de dados do SQL Server que você quer migrar dos arquivos de backup.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
create MIGRATION_JOB_ID \
  --no-async \
  --region=REGION \
  --display-name=MIGRATION_JOB_NAME \
  --source=SOURCE_CONNECTION_PROFILE_ID \
  --destination=DESTINATION_CONNECTION_PROFILE_ID \
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \
  --type=CONTINUOUS]

Windows (PowerShell)

gcloud database-migration migration-jobs `
create MIGRATION_JOB_ID `
  --no-async `
  --region=REGION `
  --display-name=MIGRATION_JOB_NAME `
  --source=SOURCE_CONNECTION_PROFILE_ID `
  --destination=DESTINATION_CONNECTION_PROFILE_ID `
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST `
  --type=CONTINUOUS]

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
create MIGRATION_JOB_ID ^
  --no-async ^
  --region=REGION ^
  --display-name=MIGRATION_JOB_NAME ^
  --source=SOURCE_CONNECTION_PROFILE_ID ^
  --destination=DESTINATION_CONNECTION_PROFILE_ID ^
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^
  --type=CONTINUOUS]

Você receberá uma resposta semelhante a esta:

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

Adicionar ou remover bancos de dados do job de migração

Para adicionar um novo banco de dados ao job de migração, primeiro crie uma pasta dedicada no bucket do Cloud Storage e faça upload dos arquivos de backup nela. Consulte Configurar buckets do Cloud Storage.

Quando você tiver os arquivos de backup necessários no bucket do Cloud Storage, siga estas etapas:

Console

  1. No console Google Cloud , acesse a página Jobs de migração.

    Acessar "Jobs de migração"

  2. Na guia Jobs, clique no nome de exibição do job de migração.

    A página de detalhes do job de migração é aberta.

  3. Clique em Editar.
  4. Na seção Selecionar bancos de dados para migrar, use as caixas de seleção para escolher o novo banco de dados que você quer adicionar ao job de migração ou desmarque os que você quer remover.
  5. (Opcional) Se você usa backups criptografados, forneça as chaves de criptografia dos seus backups. Para mais detalhes sobre como usar backups criptografados, consulte Usar backups criptografados.

    Execute estas ações:

    • Clique em Editar detalhes ao lado do banco de dados selecionado para migração.

      O painel lateral Criptografia é aberto.

    • Use os menus Chave de criptografia para selecionar suas chaves.
    • No campo Senha, digite a senha da chave de criptografia.
    • Clique em Salvar e sair.

gcloud

Este exemplo usa a flag opcional --no-async para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID com o identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e ver os identificadores deles.

  • REGION com o identificador da região em que o perfil de conexão está salvo.
  • COMMA_SEPARATED_DATABASE_ID_LIST com uma lista separada por vírgulas de identificadores de banco de dados do SQL Server que você quer migrar dos arquivos de backup. Esses identificadores precisam ser iguais aos nomes das pastas de banco de dados no Cloud Storage.

    Por exemplo: --sqlserver-databases=my-business-database,my-other-database

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
update MIGRATION_JOB_ID \
  --region=REGION \
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST

Windows (PowerShell)

gcloud database-migration migration-jobs `
update MIGRATION_JOB_ID `
  --region=REGION `
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
update MIGRATION_JOB_ID ^
  --region=REGION ^
  --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST

Você receberá uma resposta semelhante a esta:

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

Editar um job de migração que não é rascunho

Para jobs de migração que não são rascunhos, use a Google Cloud CLI para mudar o nome de exibição do job de migração:

Este exemplo usa a flag opcional --no-async para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID com o identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e ver os identificadores deles.

  • REGION com o identificador da região em que o perfil de conexão está salvo.
  • MIGRATION_JOB_NAME com um nome legível para o job de migração. Esse valor é exibido no Database Migration Service no console Google Cloud .

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
update MIGRATION_JOB_ID \
  --region=REGION \
  --display-name=MIGRATION_JOB_NAME 

Windows (PowerShell)

gcloud database-migration migration-jobs `
update MIGRATION_JOB_ID `
  --region=REGION `
  --display-name=MIGRATION_JOB_NAME 

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
update MIGRATION_JOB_ID ^
  --region=REGION ^
  --display-name=MIGRATION_JOB_NAME 

Você receberá uma resposta semelhante a esta:

Waiting for migration job [MIGRATION_JOB_ID]
to be updated with [OPERATION_ID]

Waiting for operation [OPERATION_ID] to complete...done.

Updated migration job MIGRATION_JOB_ID [OPERATION_ID]

Testar um job de migração

Antes de executar o job de migração, faça uma operação de teste para verificar se o Database Migration Service pode alcançar todas as entidades de origem e destino necessárias. No console Google Cloud , só é possível testar jobs de migração em rascunho criados no assistente de criação de jobs de migração (consulte Criar um job de migração).

Com CLI gcloud, é possível testar jobs de migração criados, mas ainda não iniciados.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID com o identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e ver os identificadores deles.

  • REGION com o identificador da região em que o perfil de conexão está salvo.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration migration-jobs \
verify MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration migration-jobs `
verify MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration migration-jobs ^
verify MIGRATION_JOB_ID ^
  --region=REGION

Resultado

A ação é realizada de forma assíncrona. Assim, esse comando retorna uma entidade de operação que representa uma operação de longa duração:

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
  apiVersion: v1
  createTime: '2024-02-20T12:20:24.493106418Z'
  requestedCancellation: false
  target: MIGRATION_JOB_ID
  verb: verify
name: OPERATION_ID
Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Ver detalhes da migração de um banco de dados específico

Quando o job de migração estiver totalmente criado (ou seja, não estiver salvo em um estado de rascunho), use a Google Cloud CLI para conferir detalhes sobre um banco de dados específico nesse job de migração.

Este exemplo usa a flag opcional --no-async para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID com o identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e ver os identificadores deles.

  • REGION com o identificador da região em que o perfil de conexão está salvo.
  • DATABASE_NAME pelo nome do banco de dados.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID \
  --region=REGION --database=DATABASE_NAME

Windows (PowerShell)

gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID `
  --region=REGION --database=DATABASE_NAME

Windows (cmd.exe)

gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID ^
  --region=REGION --database=DATABASE_NAME

Resultado

O resultado será assim:

createTime: '2025-03-21T17:05:19.211441641Z'
name: PROJECT_ID
phase: FULL_DUMP
sourceObject:
  database: DATABASE_NAME
  type: DATABASE
state: RUNNING
Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração:

Conferir detalhes da migração de bancos de dados específicos

Quando o job de migração estiver totalmente criado (ou seja, não estiver salvo em um estado de rascunho), use a Google Cloud CLI para listar todos os bancos de dados selecionados para esse job de migração e conferir detalhes sobre eles.

Este exemplo usa a flag opcional --no-async para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona. Se você fizer isso, use o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • MIGRATION_JOB_ID com o identificador do job de migração.

    Se você não souber o identificador, use o comando gcloud database-migration migration-jobs list para listar todos os jobs de migração em uma determinada região e ver os identificadores deles.

  • REGION com o identificador da região em que o perfil de conexão está salvo.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud database-migration objects list --migration-job=MIGRATION_JOB_ID \
  --region=REGION

Windows (PowerShell)

gcloud database-migration objects list --migration-job=MIGRATION_JOB_ID `
  --region=REGION

Windows (cmd.exe)

gcloud database-migration objects list --migration-job=MIGRATION_JOB_ID ^
  --region=REGION

Resultado

O resultado será assim:

Waiting for migration job MIGRATION_JOB_ID
to fetch source objects with OPERATION_ID

Waiting for operation OPERATION_ID to complete...done.

SOURCE_OBJECT                            STATE    PHASE      ERROR
{'database': 'db1', 'type': 'DATABASE'}  RUNNING  FULL_DUMP
{'database': 'db2', 'type': 'DATABASE'}  STOPPED  CDC        {'code': 1, 'message': 'Internal error'}
Para saber se a operação foi bem-sucedida, consulte o objeto de operação retornado ou verifique o status do job de migração: