Questa pagina descrive come creare un job di migrazione per le origini Cloud SQL per SQL Server con Google Cloud CLI. Per saperne di più sulla migrazione tra istanze Cloud SQL per SQL Server con Database Migration Service, consulta la guida alla migrazione per le origini Cloud SQL per SQL Server.
Prima di iniziare
- Assicurati di soddisfare i seguenti requisiti:
- Hai un bucket Cloud Storage per i file di backup di SQL Server.
- Hai un profilo di connessione di origine per l'istanza di origine.
- Hai creato e configurato l'istanza Cloud SQL per SQL Server di destinazione e hai un profilo di connessione di destinazione per l'istanza.
- Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud .
- Abilita le API Database Migration Service, Compute Engine, Cloud Storage e API Cloud SQL Admin.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare job di migrazione in Database Migration Service, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Database Migration Admin (
roles/datamigration.admin) -
Storage Admin (
roles/storage.admin) -
Cloud SQL Editor (
roles/cloudsql.editor)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire migrazioni SQL Server omogenee con Database Migration Service. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per eseguire migrazioni SQL Server omogenee con Database Migration Service sono necessarie le seguenti autorizzazioni:
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
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Definisci le impostazioni e crea un job di migrazione
gcloud
Questo esempio utilizza il flag facoltativo --no-async in modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag --no-async per eseguire i comandi in modo asincrono.
In questo caso, devi utilizzare il comando
gcloud database-migration operations describe per verificare se l'operazione è andata a buon fine.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- MIGRATION_JOB_ID con un identificatore leggibile da macchina per il job di migrazione. Utilizza questo valore per lavorare con i job di migrazione utilizzando i comandi o l'API di Google Cloud CLI di Database Migration Service.
- REGION con l'identificatore della regione in cui vuoi salvare il job di migrazione.
- MIGRATION_JOB_NAME con un nome leggibile per il job di migrazione. Questo valore viene visualizzato in Database Migration Service nella console Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID con un identificatore leggibile da macchina del profilo di connessione di origine.
- DESTINATION_CONNECTION_PROFILE_ID con un identificatore leggibile da macchina del profilo di connessione di destinazione.
- DESTINATION_PROJECT_ID con l'identificatore del progetto Google Cloud in cui si trova l'istanza Cloud SQL per SQL Server di destinazione. Deve essere lo stesso progetto in cui hai abilitato l'API Database Migration Service e in cui crei il job di migrazione.
- COMMA_SEPARATED_DATABASE_ID_LIST con un elenco separato da virgole di identificatori di database di SQL Server di cui vuoi eseguire la migrazione dai file di backup.
Esegui questo comando:
Linux, macOS o 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
Dovresti ricevere una risposta simile alla seguente:
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]
Il job di migrazione è stato creato. Puoi procedere con il processo di migrazione:
- (Facoltativo) Esegui un test del job di migrazione per verificare se Database Migration Service può raggiungere tutte le entità di origine e di destinazione necessarie.
- Avvia il job di migrazione per iniziare a spostare i dati nell'istanza di destinazione.