Esegui la migrazione da un'istanza Cloud SQL per SQL Server

Questa pagina descrive come eseguire la migrazione dei database Cloud SQL per SQL Server all'istanza Cloud SQL per SQL Server con Database Migration Service. Con questo flusso di migrazione, puoi spostare i tuoi database in un altro Cloud SQL per SQL Server nello stesso progetto Google Cloud o in un progetto diverso. Per istruzioni su come eseguire la migrazione da origini autogestite o Amazon RDS, consulta la guida alla migrazione per origini self-hosted e Amazon RDS.

Il processo di migrazione per le origini Cloud SQL per SQL Server prevede le seguenti attività:

  1. Configurare l'istanza Cloud SQL per SQL Server di origine in modo che Database Migration Service possa esportare automaticamente i file di backup in un bucket Cloud Storage.

  2. Creazione di un profilo di connessione di origine con Google Cloud CLI.

  3. Creazione dell'istanza Cloud SQL per SQL Server di destinazione.

  4. Crea ed esegui il job di migrazione in Database Migration Service con Google Cloud CLI.

  5. Monitoraggio dell'avanzamento del job di migrazione con le funzionalità di osservabilità di Database Migration Service.

  6. 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 viene offerto senza costi aggiuntivi. Tuttavia, i prezzi di Cloud SQL e Cloud Storage si applicano alle tariffe di rete e alle entità Cloud SQL e Cloud Storage create ai fini della migrazione.

In questo documento vengono utilizzati i seguenti componenti fatturabili diGoogle Cloud:

  • Cloud Storage
  • Cloud SQL

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi.

Prima di iniziare

  1. Verifica se questo percorso di migrazione può supportare completamente il tuo scenario. Consulta le limitazioni note di SQL Server.
  2. 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 un'unica regione.
  3. Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud .

    Vai al selettore di progetti

  4. Abilita le API Database Migration Service, Compute Engine, Cloud Storage e API Cloud SQL Admin.

    Abilita le API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire migrazioni omogenee tra due istanze Cloud SQL per SQL Server con Database Migration Service, chiedi all'amministratore di concedere i ruoli IAM richiesti agli account coinvolti nel processo di migrazione nei progetti pertinenti.

Questo scenario ti consente di eseguire la migrazione tra due istanze Cloud SQL per SQL Server che si trovano in progetti Google Cloud diversi. Se vuoi eseguire la migrazione tra istanze nello stesso progetto, concedi tutte le autorizzazioni nello stesso progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso.

Ruoli e autorizzazioni nel progetto di origine

Concedi i seguenti ruoli ad account specifici nel progetto Google Cloud in cui si trova l'istanza Cloud SQL per SQL Server di origine:

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 (progetto di origine):

Autorizzazioni richieste (progetto di origine)

Per eseguire migrazioni SQL Server omogenee con Database Migration Service sono necessarie le seguenti autorizzazioni:

  • Account utente che esegue la migrazione:
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.operations.get
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.import
    • cloudsql.databases.get
    • cloudsql.databases.list
    • cloudsql.databases.delete
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list
  • Account di servizio Database Migration Service del progetto di destinazione:
    • cloudsql.instances.export
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.executeSql

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Ruoli e autorizzazioni nel progetto di destinazione

Concedi i seguenti ruoli ad account specifici nel progetto Google Cloud in cui si trova l'istanza Cloud SQL per SQL Server di destinazione:

  • Account utente che esegue la migrazione:
  • Account di servizio Database Migration Service del progetto dell'istanza di destinazione:
  • Account di servizio Cloud SQL associato all'istanza di origine: Storage Object User (roles/storage.objectUser)

    Questa autorizzazione è necessaria per consentire all'istanza Cloud SQL per SQL Server di origine di salvare i file di backup esportati nel bucket Cloud Storage che crei nel progetto di destinazione.

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 (progetto di destinazione):

Autorizzazioni richieste (progetto di destinazione)

Per eseguire migrazioni SQL Server omogenee con Database Migration Service sono necessarie le seguenti autorizzazioni:

  • Account utente che esegue la migrazione:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.operations.get
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.import
    • cloudsql.databases.get
    • cloudsql.databases.list
    • cloudsql.databases.delete
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list
  • Account di servizio Database Migration Service:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.executeSql
    • storage.objects.create
    • storage.objects.list
  • Account di servizio Cloud SQL associato all'istanza di origine:
    • storage.objects.create
    • storage.objects.list
    • storage.objects.get

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Prepara l'istanza Cloud SQL di origine

  1. Crea un bucket Cloud Storage nel progetto di destinazione Google Cloud . Questo bucket viene utilizzato per archiviare i file di log di backup esportati dall'istanza Cloud SQL per SQL Server di origine.

    • Ti consigliamo di configurare un periodo di conservazione dei dati compreso tra 14 e 30 giorni per questi file di backup.
    • Il account di servizio Cloud SQL associato all'istanza di origine deve avere il ruolo IAM Storage Object User (roles/storage.objectUser) per scrivere i file di backup in questo bucket. Per saperne di più sulle autorizzazioni per questo flusso di migrazione, consulta la sezione Ruoli richiesti.
  2. Configura l'istanza Cloud SQL per SQL Server di origine.

  3. Crea un profilo di connessione di origine per l'istanza di origine Cloud SQL per SQL Server.

Prepara l'istanza Cloud SQL per SQL Server di destinazione

Per configurare l'istanza Cloud SQL di destinazione, segui questi passaggi:

  1. Crea e configura l'istanza Cloud SQL per SQL Server di destinazione. Assicurati di utilizzare risorse di calcolo e memoria sufficienti per coprire le tue esigenze di migrazione.

  2. Crea un profilo di connessione di destinazione per l'istanza Cloud SQL.

Crea ed esegui il job di migrazione

  1. Crea ed esegui il job di migrazione per un'origine Cloud SQL per SQL Server.

Quando avvii il job di migrazione, i database Cloud SQL per SQL Server di destinazione vengono messi in modalità Recovery, in cui sono completamente gestiti da Database Migration Service. Puoi promuovere l'istanza di destinazione quando i dati sono stati migrati completamente. Dopo la promozione dell'istanza di destinazione, tutti i database al suo interno diventano completamente operativi. Inoltre, ottieni l'accesso completo in scrittura a questi database.

Finalizza la migrazione

Quando decidi di trasferire l'applicazione alla nuova istanza Cloud SQL per SQL Server, finalizza la migrazione seguendo questi passaggi:

  1. Interrompi tutte le operazioni di scrittura sui database di origine. Puoi impostarli in modalità di sola lettura per mantenere la funzionalità operativa.
  2. Promuovi il job di migrazione.
  3. (Facoltativo) Verifica la completezza dei dati della migrazione.