Criar um job de migração para uma origem do Cloud SQL para SQL Server

Esta página descreve como criar um job de migração para origens do Cloud SQL para SQL Server com a Google Cloud CLI. Para mais informações sobre como migrar entre instâncias do Cloud SQL para SQL Server com o Database Migration Service, consulte o Guia de migração para origens do Cloud SQL para SQL Server.

Antes de começar

  1. Verifique se você atende aos seguintes requisitos:
    • Você tem um bucket do Cloud Storage para arquivos de backup do SQL Server.
    • Você tem um perfil de conexão de origem para a instância de origem.
    • Você criou e configurou a instância de destino do Cloud SQL para SQL Server e você tem um perfil de conexão de destino para a instância.
  2. No Google Cloud console do, na página do seletor de projetos, selecione ou crie um Google Cloud projeto.

    Acessar o seletor de projetos

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

    Ativar as APIs

Funções exigidas

Para receber as permissões necessárias para criar jobs de migração no Database Migration Service, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esses papéis predefinidos contêm as permissões necessárias para realizar migrações homogêneas do SQL Server com o Database Migration Service. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para realizar migrações homogêneas do SQL Server com o Database Migration Service:

  • 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

Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.

Definir configurações e 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 gcloud database-migration operations describe comando 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 o job de migração. Use esse valor para trabalhar com jobs de migração usando comandos ou a API do Database Migration Service CLI do Google Cloud.
  • REGION com o identificador da região em que você quer salvar o job de migração.
  • MIGRATION_JOB_NAME com um nome legível para o job de migração. Esse valor é exibido no Database Migration Service em o Google Cloud console do.
  • 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.
  • DESTINATION_PROJECT_ID com o Google Cloud identificador do projeto em que você tem a instância de destino do Cloud SQL para SQL Server. Esse precisa ser o mesmo projeto em que a API Database Migration Service está ativada e em que você cria o job de migração.
  • 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 \
  --project=DESTINATION_PROJECT_ID \
  --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 `
  --project=DESTINATION_PROJECT_ID `
  --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 ^
  --project=DESTINATION_PROJECT_ID ^
  --type=CONTINUOUS

Você receberá uma resposta semelhante a esta:

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

O job de migração foi criado. Você pode continuar com o processo de migração:

A seguir