Questa pagina descrive come creare un job di migrazione per le origini Cloud SQL per SQL Server con Google Cloud CLI. Per ulteriori informazioni 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 Google Cloud console, nella pagina di selezione del progetto, seleziona o crea un Google Cloud progetto.
- Abilita le API Database Migration Service, Compute Engine, Cloud Storage e 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 per il progetto:
-
Amministratore di Database Migration (
roles/datamigration.admin) -
Amministratore spazio di archiviazione (
roles/storage.admin) -
Cloud SQL Editor (
roles/cloudsql.editor)
Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire migrazioni omogenee di SQL Server con Database Migration Service. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per eseguire migrazioni omogenee di SQL Server 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 del tempo. Puoi saltare il flag --no-async per eseguire i comandi in modo asincrono.
In questo caso, devi utilizzare il
gcloud database-migration operations describe
comando 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 dalla macchina per il job di migrazione. Utilizza questo valore per lavorare con i job di migrazione utilizzando i comandi o l'API 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 in the Google Cloud console.
- SOURCE_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di origine.
- DESTINATION_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di destinazione.
- DESTINATION_PROJECT_ID con l' Google Cloud identificatore del progetto 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 degli 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.