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
- 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.
- No Google Cloud console do, na página do seletor de projetos, selecione ou crie um Google Cloud projeto.
- Ative as APIs Database Migration Service, Compute Engine, Cloud Storage e Cloud SQL Admin.
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:
-
Administrador de migração do banco de dados (
roles/datamigration.admin) -
Administrador de armazenamento (
roles/storage.admin) -
Editor do Cloud SQL (
roles/cloudsql.editor)
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.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.databases.getcloudsql.databases.deletecloudsql.operations.getcompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.liststorage.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]
O job de migração foi criado. Você pode continuar com o processo de migração:
- (Opcional) Realize um teste de job de migração para verificar se o Database Migration Service pode alcançar todas as entidades de origem e destino necessárias.
- Inicie o job de migração para começar a mover os dados para a instância de destino.