Modifica gli schemi in un job di replica SQL Server

Questa pagina descrive come modificare gli schemi in Cloud Data Fusion quando replichi i dati da un database Microsoft SQL Server a una tabella BigQuery. Per assicurarti che il job di replica continui a replicare i dati da un'origine SQL Server dopo la modifica dello schema, segui questi passaggi.

Modifica lo schema

  1. Vai all'istanza:

    1. Nella console Google Cloud, vai alla pagina di Cloud Data Fusion.

    2. Per aprire l'istanza in Cloud Data Fusion Studio: Fai clic su Istanze e poi su Visualizza istanza.

      Vai a Istanze

  2. Nell'interfaccia web di Cloud Data Fusion, fai clic su Replica.

  3. Arresta il job di replica.

  4. Applica una modifica dello schema supportata alla tabella di origine, ad esempio Aggiungi colonna nullable.

  5. Crea una nuova tabella di acquisizione utilizzando la procedura sys.sp_cdc_enable_table con un valore univoco per il parametro @capture_instance.

  6. Applica la stessa modifica dello schema alla tabella di destinazione in BigQuery.

  7. Riavvia il job di replica.

  8. (Facoltativo) Quando il job inizia a eseguire lo streaming delle nuove modifiche che si verificano dopo che lo hai interrotto, puoi eliminare la vecchia tabella di acquisizione utilizzando la procedura memorizzata sys.sp_cdc_disable_table. Impostare il parametro @capture_instance al nome dell'istanza di acquisizione precedente.

Dopo aver applicato una modifica dello schema alla tabella di origine e prima di creare una nuova tabella di acquisizione (come hai fatto nei passaggi precedenti), tutte le modifiche vengono acquisite dalla vecchia acquisizione con lo schema precedente. Se hai aggiunto una colonna, qualsiasi evento di modifica durante questo periodo di tempo non contiene dati per la nuova colonna. Se la tua applicazione non è in grado di gestire una transizione di questo tipo, segui questi passaggi:

  1. Sospendere tutte le applicazioni che generano record di database.

  2. Assicurati che il job di replica abbia elaborato tutte le risorse esistenti eventi.

  3. Arresta il job di replica.

  4. Applica la modifica allo schema alla tabella di origine, ad esempio Aggiungi valori nulli .

  5. Crea una nuova tabella di acquisizione utilizzando la procedura sys.sp_cdc_enable_table con un valore univoco per il parametro @capture_instance.

  6. Riprendi le applicazioni sospese nel primo passaggio.

  7. Applica la stessa modifica allo schema alla tabella di destinazione in BigQuery.

  8. Riavvia il job di replica.

  9. (Facoltativo) Quando il job avvia il flusso di nuove modifiche apportate dopo creata la nuova tabella di acquisizione nel passaggio precedente, puoi rilasciare la tabella precedente utilizzando sys.sp_cdc_disable_table stored procedure. Imposta il parametro @capture_instance sul nome dell'istanza di acquisizione precedente.

Passaggi successivi