Crie uma tarefa de migração

O serviço de migração de base de dados usa tarefas de migração para migrar dados das suas bases de dados de origem para a instância de destino do Cloud SQL. As tarefas de migração ajudam a organizar os perfis de ligação de origem e destino, definir as definições específicas do processo de migração, monitorizar o progresso e finalizar em segurança toda a operação.

A criação de uma tarefa de migração inclui a realização das seguintes tarefas:

  • Selecionar perfis de associação de origem e destino.

  • Escolher as bases de dados detetadas na instância de origem que quer migrar.

  • Executar um teste de tarefa de migração para garantir que o serviço de migração de bases de dados consegue estabelecer ligação à origem de dados e ao destino.

  • Iniciar a tarefa de migração e monitorizar o progresso.

  • Promover a tarefa de migração quando quiser mudar a sua aplicação para a nova instância.

Antes de começar

  1. Certifique-se de que cumpre os seguintes requisitos:
    • Tem um contentor do Cloud Storage para ficheiros de cópia de segurança do SQL Server.
    • Os ficheiros de registo de transações e de cópia de segurança completa são carregados para o contentor do Cloud Storage.
    • Tem um perfil de ligação de origem para o contentor do Cloud Storage.
    • Criou e configurou a instância do Cloud SQL de destino para o SQL Server e tem um perfil de ligação de destino para a instância.
  2. Na Google Cloud consola, na página do seletor de projetos, selecione ou crie um Google Cloud projeto.

    Aceder ao seletor de projetos

  3. Ative as APIs Database Migration Service, Compute Engine, Cloud Storage e Cloud SQL Admin.

    Ative as APIs

Funções necessárias

Para receber as autorizações necessárias para criar tarefas de migração no serviço de migração de bases de dados, peça ao seu administrador que lhe conceda as seguintes funções do IAM no seu projeto:

Para mais informações sobre a atribuição de funções, consulte o artigo Gerir acesso.

Estas funções predefinidas contêm as autorizações necessárias para realizar migrações homogéneas do SQL Server com o serviço de migração de bases de dados. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para realizar migrações homogéneas do SQL Server com o serviço de migração de bases de dados:

  • datamigration.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.databases.get
  • cloudsql.databases.delete
  • cloudsql.operations.get
  • compute.machineTypes.list
  • compute.machineTypes.get
  • compute.projects.get
  • storage.buckets.create
  • storage.buckets.list
  • storage.objects.list

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Defina as definições e crie uma tarefa de migração

Para criar uma tarefa de migração, siga estes passos:

Consola

  1. Na Google Cloud consola, aceda à página Tarefas de migração.

    Aceda a Tarefas de migração

  2. Clique em Criar tarefa de migração.

    É aberta a página do assistente de configuração da tarefa de migração. Este assistente contém vários painéis que explicam cada passo de configuração.

    Pode pausar a criação de uma tarefa de migração em qualquer altura clicando em GUARDAR E SAIR. Todos os dados que introduzir até esse ponto são guardados num trabalho de migração de rascunho. Pode concluir a tarefa de migração de rascunho mais tarde. Consulte o artigo Atualize uma tarefa de migração de rascunho.

  3. Na página Começar, introduza as seguintes informações:
    • Nome da tarefa de migração

      Este é um nome legível para o seu trabalho de migração. Este valor é apresentado na Google Cloud consola.

    • ID da tarefa de migração

      Este é um identificador legível por máquina para a sua tarefa de migração. Use este valor para trabalhar com tarefas de migração através de comandos da CLI do Google Cloud ou da API do Database Migration Service.

    • Na lista Motor de base de dados de origem, selecione SQL Server ou Amazon RDS para SQL Server.

    Os campos Motor da base de dados de destino e Tipo de tarefa de migração são preenchidos automaticamente e não podem ser alterados.

  4. Clique em Guardar e continuar.
  5. Na página Defina a sua origem, faça o seguinte:
    1. Use o menu pendente para selecionar o perfil de associação de origem.

      Se ainda não tiver um perfil de associação de origem, pode clicar em Criar perfil de associação diretamente no menu pendente. Para mais informações sobre como criar perfis de associação, consulte Crie um perfil de associação de origem.

    2. Se quiser usar um ficheiro de cópia de segurança diferencial na sua migração, na secção Personalizar configurações de origem, selecione a caixa de verificação Usar cópias de segurança diferenciais.

      As cópias de segurança diferenciais são úteis se precisar de replicar muitos dados que apareceram na sua base de dados desde a cópia de segurança completa e quiser processá-los em massa em vez de carregar vários ficheiros de registo de transações. Para mais informações sobre os tipos de cópias de segurança compatíveis, consulte o artigo Tipos de ficheiros de cópias de segurança compatíveis.

      Se usar cópias de segurança diferenciais, certifique-se de que cria a pasta diff no seu contentor do Cloud Storage. Consulte o artigo Armazene ficheiros de cópias de segurança num contentor do Cloud Storage.

    3. Clique em Guardar e continuar.
  6. Na página Definir um destino, use o menu pendente para selecionar o perfil de associação de destino.

    Se ainda não tiver um perfil de ligação de destino, pode clicar em Criar perfil de ligação diretamente no menu pendente. Para mais informações sobre como criar perfis de associação, consulte Crie um perfil de associação de destino.

  7. Clique em Guardar e continuar.
  8. Na página Configurar bases de dados de migração, execute as seguintes ações:
    1. Na secção Selecionar bases de dados a migrar, use as caixas de verificação para selecionar as bases de dados que quer incluir nesta tarefa de migração. Esta lista é preenchida com base nas pastas que criou no contentor do Cloud Storage para os seus ficheiros de cópia de segurança.

      Pode adicionar e remover bases de dados da tarefa de migração mais tarde. Consulte o artigo Adicione ou remova bases de dados de uma tarefa de migração.

    2. (Opcional) Se usar cópias de segurança encriptadas, faculte as chaves de encriptação das suas cópias de segurança. Para mais detalhes sobre a utilização de cópias de segurança encriptadas, consulte o artigo Utilize cópias de segurança encriptadas.

      Realize as seguintes ações:

      • Clique em Editar detalhes junto à base de dados que selecionou para a migração.

        É aberto o painel lateral Encriptação.

      • Use os menus pendentes Chave de encriptação para selecionar as suas chaves.
      • No campo Palavra-passe, introduza a palavra-passe da chave de encriptação.
      • Clique em Guardar e sair.
  9. Clique em Guardar e continuar.
  10. Em Testar e criar tarefa de migração, execute as seguintes ações:
    1. (Opcional) Clique em Test job (Testar tarefa) para verificar se o serviço de migração de bases de dados consegue identificar com êxito todos os ficheiros de cópia de segurança e estabelecer as ligações de rede necessárias.

      Se o teste falhar, pode consultar as mensagens de erro para resolver o problema e executar o teste novamente. Para mais informações sobre possíveis erros, consulte o artigo Diagnosticar problemas.

    2. Clique em Criar e iniciar tarefa para começar a migração.

      Se quiser executar a tarefa de migração noutra altura, clique em Guardar e volte mais tarde para executar a tarefa. Consulte o artigo Inicie uma tarefa de migração.

gcloud

Este exemplo usa o sinalizador --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isto significa que alguns comandos podem demorar algum tempo a serem concluídos. Pode ignorar a flag --no-async para executar comandos de forma assíncrona. Se o fizer, tem de usar o comando gcloud database-migration operations describe para verificar se a operação foi bem-sucedida.

Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

  • MIGRATION_JOB_ID com um identificador legível por máquina para a sua tarefa de migração. Use este valor para trabalhar com tarefas de migração através de comandos da CLI do Google Cloud ou da API do Database Migration Service.
  • REGION com o identificador da região onde quer guardar a tarefa de migração.
  • MIGRATION_JOB_NAME com um nome legível para a tarefa de migração. Este valor é apresentado no serviço de migração de bases de dados na Google Cloud consola.
  • SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de ligação de origem.
  • DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de associação de destino.
  • COMMA_SEPARATED_DATABASE_ID_LIST com uma lista separada por vírgulas de identificadores de bases de dados do SQL Server a partir do qual quer migrar os ficheiros de cópia de segurança. Estes identificadores têm de ser iguais aos nomes das pastas da base de dados no Cloud Storage.

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

  • Configuração da cópia de segurança diferencial: se usar ficheiros de cópia de segurança diferencial para a migração, adicione a flag --sqlserver-diff-backup ao seu comando. Por predefinição, as tarefas de migração não usam ficheiros de cópia de segurança diferencial e ignoram a pasta diff no seu contentor do Cloud Storage.

    Para mais informações sobre os ficheiros de cópia de segurança suportados, consulte o artigo Tipos de ficheiros de cópia de segurança suportados.

  • (Opcional) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS com o caminho do disco local para um ficheiro de configuração que mapeia os caminhos para as chaves de encriptação no Cloud Storage com os respetivos identificadores da base de dados. Para mais informações sobre como criar este ficheiro de mapeamento, consulte o artigo Use cópias de segurança encriptadas.

    Por exemplo: --sqlserver-encrypted-databases=~/encryption-keys-mapping-file.json

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 \
  --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS \
  --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 `
  --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS `
  --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 ^
  --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ^
  --type=CONTINUOUS

Deve receber uma resposta semelhante à seguinte:

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

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

Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Resultado

A tarefa de migração foi criada. Pode continuar com o processo de migração:

O que se segue?