Questa pagina descrive come eseguire la migrazione dei database SQL Server a un'istanza Cloud SQL per SQL Server con Database Migration Service.
La procedura di migrazione prevede le seguenti attività:
Esportazione del backup completo del database e dei file di log delle transazioni dall'istanza SQL Server di origine.
Puoi anche utilizzare il backup differenziale del database facoltativo nel processo di migrazione.
Carica i file di backup in un bucket Cloud Storage.
Creazione dell'istanza Cloud SQL per SQL Server di destinazione.
Crea ed esegui il job di migrazione in Database Migration Service.
Monitoraggio dell'avanzamento del job di migrazione con le funzionalità di osservabilità di Database Migration Service.
Promuovi il job di migrazione dopo che i dati sono stati trasferiti del tutto.
Costi
Per le migrazioni omogenee a Cloud SQL, Database Migration Service è offerto senza costi aggiuntivi. Tuttavia, i prezzi di Cloud SQL e Cloud Storage si applicano ai costi di rete, nonché alle entità Cloud SQL e Cloud Storage create a scopo di migrazione.
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
- Cloud Storage
- Cloud SQL
Per generare una stima dei costi in base all'utilizzo previsto, utilizza il calcolatore prezzi.
Prima di iniziare
- Verifica se questo percorso di migrazione può supportare completamente il tuo scenario. Consulta la sezione Limitazioni note di SQL Server.
- Valuta in quale regione vuoi creare il database di destinazione. Database Migration Service è un prodotto completamente regionale, il che significa che tutte le entità correlate alla migrazione (profili di connessione di origine e di destinazione, job di migrazione, database di destinazione, bucket di archiviazione) devono essere salvate in una singola regione.
- 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 Cloud SQL Admin.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per eseguire migrazioni omogenee di SQL Server con Database Migration Service, chiedi all'amministratore di concedere i ruoli IAM richiesti sul tuo progetto per i seguenti account coinvolti nel processo di migrazione
- Account utente che esegue la migrazione:
-
Database Migration Admin (
roles/datamigration.admin) -
Amministratore spazio di archiviazione (
roles/storage.admin) -
Cloud SQL Editor (
roles/cloudsql.editor)
-
Database Migration Admin (
- Account di servizio Database Migration Service:
-
Database Migration Admin (
roles/datamigration.admin) -
Amministratore spazio di archiviazione (
roles/storage.admin) -
Cloud SQL Editor (
roles/cloudsql.editor) -
Utente Cloud SQL Studio (
roles/cloudsql.studioUser)
-
Database Migration Admin (
Per saperne di più 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:
- Account utente che esegue la migrazione:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.operations.getcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.importcloudsql.databases.getcloudsql.databases.listcloudsql.databases.deletecompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.list
- Account di servizio Database Migration Service:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.executeSqlstorage.objects.createstorage.objects.list
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Prepara i dati di origine
Per preparare i dati di origine per la migrazione:
Valuta la tua strategia di backup per il processo di migrazione. Database Migration Service supporta l'utilizzo di un backup differenziale e dei file di log delle transazioni per la migrazione dei dati visualizzati nel database dopo aver eseguito il backup completo.
Esegui un backup completo del database SQL Server di origine. Assicurati di utilizzare il pattern di denominazione corretto.
Prepara un bucket Cloud Storage e carica i file di backup al suo interno. Assicurati di configurare la struttura di directory necessaria per ogni tipo di file di backup che vuoi utilizzare.
Crea un profilo di connessione di origine per il bucket Cloud Storage.
Prepara l'istanza Cloud SQL per SQL Server di destinazione
Per configurare l'istanza Cloud SQL di destinazione, segui questi passaggi:
Crea e configura l'istanza Cloud SQL per SQL Server di destinazione. Assicurati di utilizzare risorse di calcolo e memoria sufficienti per coprire le esigenze di migrazione e assegna il ruolo di amministratore Storage (
roles/storage.admin) all'account di servizio dell'istanza.Crea un profilo di connessione di destinazione per l'istanza Cloud SQL.
Crea ed esegui il job di migrazione
Per configurare ed eseguire la migrazione, segui questi passaggi:
Crea ed esegui il job di migrazione.
Quando avvii il job di migrazione, i database Cloud SQL per SQL Server di destinazione vengono messi in modalità di recupero, in cui sono completamente gestiti da Database Migration Service. Puoi promuovere l'istanza di destinazione quando i dati sono stati completamente migrati. Una volta promossa l'istanza di destinazione, tutti i database in quell'istanza diventano completamente operativi. Inoltre, ottieni l'accesso completo in scrittura a questi database.
Puoi monitorare l'avanzamento della migrazione, nonché l'integrità dell'istanza di destinazione con le funzionalità di osservabilità di Database Migration Service. Vedi Metriche job di migrazione.
Continua a caricare nuovi file di backup dei log delle transazioni nel bucket Cloud Storage.
Per coprire i dati visualizzati nel database di origine dopo l'esportazione del backup completo, esporta i file di backup dei log delle transazioni e caricali nel bucket di archiviazione. Database Migration Service rileva automaticamente i nuovi file, ne legge i contenuti e trasferisce i dati all'istanza di destinazione. Vedi Automatizzare le esportazioni dei log delle transazioni.
Finalizzare la migrazione
Quando decidi di passare alla nuova istanza Cloud SQL per SQL Server, finalizza la migrazione seguendo questi passaggi:
- Interrompi tutte le operazioni di scrittura sui database di origine. Puoi passare alla modalità di sola lettura per mantenere la funzionalità operativa.
- Prendi l'ultimo backup dei log delle transazioni, carica il file nel bucket di archiviazione e interrompi la fase di caricamento incrementale in Database Migration Service.
Puoi ottenere questo risultato eseguendo una delle seguenti azioni:
- Interrompi i caricamenti automatici dei file di backup o carica l'ultimo file di log delle transazioni. Monitora le dimensioni dei backup dei log delle transazioni non elaborate per determinare quando Database Migration Service termina l'elaborazione del file.
- Facoltativamente, puoi caricare un file di log delle transazioni il cui nome termina
con il suffisso
.trn.final. Database Migration Service interrompe i caricamenti continui quando rileva un file di backup il cui nome corrisponde alla convenzione di suffisso.trn.final.Quando Database Migration Service termina l'elaborazione del file, lo stato del job di migrazione diventa Pronto per la promozione.
- Promuovi il job di migrazione.
- (Facoltativo) Verifica la completezza dei dati di migrazione.