Esportazione e importazione mediante file di dump SQL

Questa pagina descrive l'esportazione e l'importazione di dati nelle istanze Cloud SQL mediante file di dump SQL.

L'esportazione da Cloud SQL in un file di dump SQL non è supportata per SQL Server.

Prima di iniziare

Le esportazioni utilizzano le risorse del database, ma non interferiscono con le normali operazioni del database, a meno che l'istanza non sia sottodimensionata.

Per le best practice, vedi Best practice per l'importazione e Esportazione dei dati.

Dopo aver completato un'operazione di importazione, verify il che consentono di analizzare i dati e visualizzare i risultati.

Esportare dati da Cloud SQL per SQL Server

L'esportazione da Cloud SQL in un file di dump SQL non è supportata per o SQL Server.

Importare dati in Cloud SQL per SQL Server

Ruoli e autorizzazioni richiesti per l'importazione in Cloud SQL per SQL Server

Per importare dati da Cloud Storage a Cloud SQL, l'utente che avvia l'importazione deve avere uno dei seguenti ruoli:

Inoltre, l'account di servizio per l'istanza Cloud SQL deve avere uno dei seguenti ruoli:

  • Il ruolo IAM storage.objectAdmin
  • Un ruolo personalizzato, che include le seguenti autorizzazioni:
    • storage.objects.get
    • storage.objects.list (solo per l'importazione a righe)

Per assistenza con Per i ruoli IAM, consulta Identity and Access Management.

Importa un file di dump SQL in Cloud SQL per SQL Server

I file SQL sono file di testo normale con una sequenza di comandi SQL.

Nella procedura seguente, preparati a specificare un database esistente da cui importare i file SQL.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Fai clic su Importa.
  4. Nella sezione Scegli il file da cui importare i dati, inserisci il percorso al bucket e al file di dump SQL da utilizzare per l'importazione oppure passa a un .

    Puoi importare un file compresso (.gz) o non compresso (.sql).

  5. In Formato, seleziona SQL.
  6. Seleziona il database in cui vuoi importare i dati.

    In questo modo Cloud SQL esegue USE DATABASE prima dell'importazione.

  7. Se vuoi specificare un utente che esegua l'importazione, seleziona l'utente.

    Se il file di importazione contiene istruzioni che devono essere eseguite da un utente specifico, utilizza questo campo per specificarlo.

  8. Fai clic su Importa per avviare l'importazione.

gcloud

  1. Crea un bucket Cloud Storage.
  2. Carica il file nel bucket.

    Per informazioni sul caricamento di file nei bucket, consulta Caricamento di oggetti.

  3. Descrivi l'istanza in cui stai eseguendo l'importazione:
    gcloud sql instances describe INSTANCE_NAME
  4. Copia il campo serviceAccountEmailAddress.
  5. Usa gcloud storage buckets add-iam-policy-binding per concedere storage.objectAdmin ruolo IAM per l'account di servizio per il bucket.
    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
      --member=serviceAccount:SERVICE-ACCOUNT \
      --role=roles/storage.objectAdmin
      
    Per assistenza sull'impostazione delle autorizzazioni IAM, consulta Utilizzo delle autorizzazioni IAM.
  6. Importa il database:
    gcloud sql import sql INSTANCE_NAME gs://BUCKET_NAME/IMPORT_FILE_NAME \
    --database=DATABASE_NAME

    Per informazioni sull'utilizzo del comando import sql, consulta le sql import sql pagina di riferimento per i comandi.

    Se il comando restituisce un errore come ERROR_RDBMS, esamina il autorizzazioni; questo errore è spesso dovuto a problemi di autorizzazioni.

  7. Se non devi conservare le autorizzazioni IAM, impostati in precedenza, rimuovili utilizzando gcloud storage buckets remove-iam-policy-binding.

REST v1

  1. Crea un bucket Cloud Storage.
  2. Carica il file nel bucket.

    Per informazioni sul caricamento di file nei bucket, consulta Caricamento di oggetti.

  3. Fornisci alla tua istanza legacyBucketWriter e objectViewer ruoli IAM per i tuoi di sincronizzare la directory di una VM con un bucket. Per assistenza sull'impostazione delle autorizzazioni IAM, consulta Utilizzare le autorizzazioni IAM.
  4. Importa il file di dump:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • bucket_name: nome del bucket Cloud Storage
    • path_to_sql_file: il percorso del file SQL
    • database_name: il nome di un database all'interno dell'istanza Cloud SQL

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import

    Corpo JSON della richiesta:

    {
     "importContext":
       {
          "fileType": "SQL",
          "uri": "gs://bucket_name/path_to_sql_file",
          "database": "database_name"
        }
    }
    
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Per l'elenco completo dei parametri per la richiesta, consulta la pagina instances:import.
  5. Se non devi conservare le autorizzazioni IAM, impostate in precedenza, rimuovile ora.

REST v1beta4

  1. Crea un bucket Cloud Storage.
  2. Carica il file nel bucket.

    Per informazioni sul caricamento di file nei bucket, consulta Caricamento di oggetti.

  3. Fornisci all'istanza il ruolo IAM storage.objectAdmin per il tuo bucket. Per assistenza sull'impostazione delle autorizzazioni IAM, consulta Utilizzare le autorizzazioni IAM.
  4. Importa il file di dump:

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • bucket_name: nome del bucket Cloud Storage
    • path_to_sql_file: il percorso del file SQL
    • database_name: il nome di un database all'interno dell'istanza Cloud SQL

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import

    Corpo JSON della richiesta:

    {
     "importContext":
       {
          "fileType": "SQL",
          "uri": "gs://bucket_name/path_to_sql_file",
          "database": "database_name"
        }
    }
    
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Per l'elenco completo dei parametri per la richiesta, consulta la pagina instances:import.
  5. Se non devi conservare le autorizzazioni IAM, impostate in precedenza, rimuovile ora.

Passaggi successivi