Database Migration Service utilizza i job di migrazione per migrare i 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 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 prevede l'esecuzione delle seguenti attività:
Selezione dei profili di connessione di origine e destinazione.
Scegliere i database rilevati nell'istanza di origine di cui vuoi eseguire la migrazione.
Esecuzione di un test del job di migrazione per garantire 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.
Promuovi il job di migrazione quando vuoi passare l'applicazione 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 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
Per creare un job di migrazione, segui questi passaggi:
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 attraverso 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 inseriti fino a quel momento vengono salvati in una bozza di job di migrazione. Puoi completare la bozza del job di migrazione in un secondo momento. Consulta Aggiorna un job di migrazione in bozza.
- Nella pagina Inizia, inserisci le seguenti informazioni:
- Nome job di migrazione
Questo è 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 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.
- Dall'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 prestazione 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, consulta Crea un profilo di connessione di origine.
- Se vuoi utilizzare un file di backup differenziale nella migrazione,
nella sezione Personalizza le configurazioni di origine seleziona la
casella di controllo Utilizza backup differenziali.
I backup differenziali sono utili se devi replicare molti dati che sono stati aggiunti al database dopo il backup completo e vuoi gestirli in blocco anziché caricare più file di log delle transazioni. Per saperne di più sui tipi di backup supportati, consulta Tipi di file di backup supportati.
Se utilizzi i backup differenziali, assicurati di creare la cartella
diffnel bucket Cloud Storage. Consulta Archivia 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 di profili di connessione, consulta Crea un profilo di connessione di destinazione.
- Fai clic su Salva e continua.
- Nella pagina Configura i database di migrazione, esegui queste 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 create nel bucket Cloud Storage per i file di backup.
Puoi aggiungere e rimuovere i database dal job di migrazione in un secondo momento. Consulta Aggiungi o rimuovi database da un job di migrazione.
- (Facoltativo) Se utilizzi i backup crittografati, fornisci le chiavi di crittografia per i backup. Per maggiori dettagli sull'utilizzo dei backup crittografati, consulta
Utilizza i backup crittografati.
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 create nel bucket Cloud Storage per i file di backup.
- Fai clic su Salva e continua.
- Nella pagina Testa e crea job di migrazione, esegui le seguenti azioni:
- (Facoltativo) Fai clic su Testa job per verificare se Database Migration Service è in grado di identificare correttamente tutti i file di backup e stabilire le connessioni di rete necessarie.
Se il test non va a buon fine, puoi consultare i messaggi di errore per risolvere il problema ed eseguire nuovamente il test. Per saperne di più sui possibili errori, consulta Diagnostica i 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. Consulta Avvia un job di migrazione.
- (Facoltativo) Fai clic su Testa job per verificare se Database Migration Service è in grado di 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 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.
- 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. 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 differenziale per la migrazione, aggiungi il flag
--sqlserver-diff-backupal comando. Per impostazione predefinita, i job di migrazione non utilizzano i file di backup differenziale e ignorano la cartelladiffnel bucket Cloud Storage.Per saperne di più sui file di backup supportati, consulta Tipi di file di backup supportati.
- (Facoltativo) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS
con il percorso del disco locale di un file di configurazione che mappa i percorsi alle chiavi di crittografia in Cloud Storage
con i relativi identificatori del database. Per saperne di più su come creare questo file di mappatura, consulta Utilizza i backup crittografati.
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 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.