Database Migration Service utilizza i job di migrazione per eseguire la migrazione dei dati dai database di origine all'istanza Cloud SQL di destinazione. I job di migrazione ti aiutano a organizzare i profili di connessione di origine e di destinazione, definire le impostazioni specifiche per il processo di migrazione, monitorare l'avanzamento e finalizzare in modo sicuro l'intera operazione.
La creazione di un job di migrazione include l'esecuzione delle seguenti attività:
Selezione dei profili di connessione di origine e destinazione.
Scegliere di quali database rilevati nell'istanza di origine vuoi eseguire la migrazione.
Eseguire un test del job di migrazione per assicurarsi che Database Migration Service sia in grado di connettersi all'origine e alla destinazione dei dati.
Avvio del job di migrazione e monitoraggio dell'avanzamento.
Promuovere il job di migrazione quando vuoi passare alla nuova istanza.
Prima di iniziare
- Assicurati di soddisfare i seguenti requisiti:
- Hai un bucket Cloud Storage per i file di backup di SQL Server.
- I file di backup completo e dei log delle transazioni vengono caricati nel bucket Cloud Storage.
- Hai un profilo di connessione di origine per il bucket Cloud Storage.
- 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 del selettore di progetti, 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 nel progetto:
-
Database Migration Admin (
roles/datamigration.admin
) -
Amministratore spazio di archiviazione (
roles/storage.admin
) -
Cloud SQL Editor (
roles/cloudsql.editor
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire 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.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
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Definisci le impostazioni e crea un job di migrazione
Per creare un job di migrazione:
Console
- Nella console Google Cloud , vai alla pagina Job di migrazione.
- Fai clic su Crea job di migrazione.
Si apre la pagina della procedura guidata di configurazione del job di migrazione. Questa procedura guidata contiene più riquadri che ti guidano in ogni passaggio della configurazione.
Puoi mettere in pausa la creazione di un job di migrazione in qualsiasi momento facendo clic su SALVA ED ESCI. Tutti i dati che inserisci fino a quel momento vengono salvati in una bozza del job di migrazione. Puoi completare la bozza del job di migrazione in un secondo momento. Vedi Aggiornare una bozza di job di migrazione.
- Nella pagina Inizia, inserisci le seguenti informazioni:
- Nome job di migrazione
Si tratta di un nome leggibile per il job di migrazione. Questo valore viene visualizzato nella console Google Cloud .
- ID job di migrazione
Si tratta di un identificatore leggibile dalla macchina per il job di migrazione. Utilizzi questo valore per lavorare con i job di migrazione utilizzando i comandi Google Cloud CLI o l'API Database Migration Service.
- Nell'elenco Motore del database di origine, seleziona SQL Server o Amazon RDS per SQL Server.
I campi Motore del database di destinazione e Tipo di job di migrazione vengono compilati automaticamente e non possono essere modificati.
- Nome job di migrazione
- Fai clic su Salva e continua.
- Nella pagina Definisci l'origine, segui questi passaggi:
- Utilizza il menu a discesa per selezionare il profilo di connessione di origine.
Se non hai ancora un profilo di connessione di origine, puoi fare clic su Crea profilo di connessione direttamente nel menu a discesa. Per saperne di più sulla creazione di profili di connessione, vedi Creare un profilo di connessione di origine.
- Se vuoi utilizzare un file di backup differenziale nella migrazione,
nella sezione Personalizza configurazioni origine seleziona la casella di controllo
Utilizza backup differenziali.
I backup differenziali sono utili se devi replicare molti dati che sono apparsi nel database dall'ultimo backup completo e vuoi gestirli in blocco anziché caricare più file di log delle transazioni. Per ulteriori informazioni sui tipi di backup supportati, vedi Tipi di file di backup supportati.
Se utilizzi backup differenziali, assicurati di creare la cartella
diff
nel bucket Cloud Storage. Consulta Archiviare i file di backup in un bucket Cloud Storage. - Fai clic su Salva e continua.
- Utilizza il menu a discesa per selezionare il profilo di connessione di origine.
- Nella pagina Definisci una destinazione, utilizza il menu a discesa
per selezionare il profilo di connessione di destinazione.
Se non hai ancora un profilo di connessione di destinazione, puoi fare clic su Crea profilo di connessione direttamente nel menu a discesa. Per saperne di più sulla creazione dei profili di connessione, vedi Creare un profilo di connessione di destinazione.
- Fai clic su Salva e continua.
- Nella pagina Configura database di migrazione, esegui le seguenti azioni:
- Nella sezione Seleziona i database di cui eseguire la migrazione, utilizza le
caselle di controllo per selezionare i database da includere in questo
job di migrazione. Questo elenco viene compilato in base alle cartelle che hai creato
nel bucket Cloud Storage per i file di backup.
Puoi aggiungere e rimuovere i database dal job di migrazione in un secondo momento. Vedi Aggiungere o rimuovere database da un job di migrazione.
- (Facoltativo) Se utilizzi backup criptati, fornisci le chiavi di crittografia per i tuoi backup. Per maggiori dettagli sull'utilizzo dei backup
criptati, vedi
Utilizzare i backup criptati.
Esegui le seguenti azioni:
- Fai clic su Modifica dettagli accanto al database
che hai selezionato per la migrazione.
Si apre il riquadro laterale Crittografia.
- Utilizza i menu a discesa Chiave di crittografia per selezionare le chiavi.
- Nel campo Password, inserisci la password della chiave di crittografia.
- Fai clic su Salva ed esci.
- Fai clic su Modifica dettagli accanto al database
che hai selezionato per la migrazione.
- Nella sezione Seleziona i database di cui eseguire la migrazione, utilizza le
caselle di controllo per selezionare i database da includere in questo
job di migrazione. Questo elenco viene compilato in base alle cartelle che hai creato
nel bucket Cloud Storage per i file di backup.
- Fai clic su Salva e continua.
- Nella pagina Testa e crea il job di migrazione, esegui le seguenti
azioni:
- (Facoltativo) Fai clic su Test job per verificare se Database Migration Service
può identificare correttamente tutti i file di backup e stabilire
le connessioni di rete necessarie.
Se il test ha esito negativo, puoi consultare i messaggi di errore per risolvere il problema ed eseguire di nuovo il test. Per saperne di più sui possibili errori, consulta Diagnosi dei problemi.
- Fai clic su Crea e avvia job per iniziare la migrazione.
Se vuoi eseguire il job di migrazione in un altro momento, fai clic su Salva e torna in un secondo momento per eseguire il job. Vedi Avviare un job di migrazione.
- (Facoltativo) Fai clic su Test job per verificare se Database Migration Service
può identificare correttamente tutti i file di backup e stabilire
le connessioni di rete necessarie.
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 ignorare 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 è riuscita.
Prima di utilizzare i dati dei comandi riportati di seguito, apporta le seguenti sostituzioni:
- MIGRATION_JOB_ID con un identificatore leggibile dalla macchina per il tuo job di migrazione. Utilizzi questo valore per lavorare con i job di migrazione utilizzando i comandi Google Cloud CLI o l'API 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 dalla macchina del profilo di connessione di origine.
- DESTINATION_CONNECTION_PROFILE_ID con un identificatore leggibile dalla macchina del profilo di connessione di destinazione.
- COMMA_SEPARATED_DATABASE_ID_LIST con un elenco
separato da virgole degli identificatori di database di SQL Server da cui vuoi
eseguire la migrazione dai file di backup. Questi identificatori devono corrispondere ai
nomi delle cartelle del database in Cloud Storage.
Ad esempio:
--sqlserver-databases=my-business-database,my-other-database
- Configurazione del backup differenziale: se utilizzi file di backup differenziali per la
migrazione, aggiungi il flag
--sqlserver-diff-backup
al comando. Per impostazione predefinita, i job di migrazione non utilizzano i file di backup differenziale e ignorano la cartelladiff
nel bucket Cloud Storage.Per ulteriori informazioni sui file di backup supportati, vedi Tipi di file di backup supportati.
- (Facoltativo) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS
con il percorso del disco locale a un file di configurazione che mappa i percorsi alle chiavi di crittografia in Cloud Storage
con i relativi identificatori di database. Per ulteriori informazioni su come creare questo file di mapping, consulta
Utilizzare i backup criptati.
Ad esempio:
--sqlserver-encrypted-databases=~/encryption-keys-mapping-file.json
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 \ --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
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 la procedura 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 trasferire i dati all'istanza di destinazione.