Schemas in einem SQL Server-Replikationsjob ändern

Auf dieser Seite wird beschrieben, wie Sie Schemas in Cloud Data Fusion ändern, wenn Sie Daten aus einer Microsoft SQL Server-Datenbank in eine BigQuery-Tabelle replizieren. Führen Sie die folgenden Schritte aus, damit der Replikationsjob nach den Schemaänderungen weiterhin Daten aus einer SQL Server-Quelle repliziert.

Schema ändern

  1. Rufen Sie Ihre Instanz auf:

    1. Rufen Sie in der Google Cloud Console die Seite „Cloud Data Fusion“ auf.

    2. Wenn Sie die Instanz in Cloud Data Fusion Studio öffnen möchten, klicken Sie auf Instanzen und dann auf Instanz anzeigen.

      Zur Seite „VM-Instanzen“

  2. Klicken Sie in der Cloud Data Fusion-Weboberfläche auf Replikation.

  3. Beenden Sie den Replikationsjob.

  4. Wenden Sie eine unterstützte Schemaänderung auf die Quelltabelle an, z. B. Spalte mit Nullwerten hinzufügen.

  5. Erstellen Sie mit der sys.sp_cdc_enable_table-Prozedur eine neue Erfassungstabelle mit einem eindeutigen Wert für den Parameter @capture_instance.

  6. Wenden Sie dieselbe Schemaänderung auf die Zieltabelle in BigQuery an.

  7. Starten Sie den Replikationsjob neu.

  8. Optional: Wenn der Job nach dem Beenden neue Änderungen streamt, können Sie die alte Erfassungstabelle mit der gespeicherten Prozedur sys.sp_cdc_disable_table löschen. Legen Sie den Parameter @capture_instance auf den Namen der alten Erfassungs-Instanz fest.

Nachdem Sie eine Schemaänderung auf die Quelltabelle angewendet haben und bevor Sie eine neue Aufzeichnungstabelle erstellen (wie in den vorherigen Schritten), werden alle Änderungen von der alten Aufzeichnung mit dem alten Schema erfasst. Wenn Sie eine Spalte hinzugefügt haben, enthalten alle Änderungsereignisse in diesem Zeitraum keine Daten für die neue Spalte. Wenn Ihre Anwendung eine solche Umstellung nicht verarbeiten kann, gehen Sie so vor:

  1. Alle Anwendungen sperren, die Datenbankeinträge generieren.

  2. Prüfen Sie, ob der Replikationsjob alle vorhandenen Ereignisse verarbeitet hat.

  3. Beenden Sie den Replikationsjob.

  4. Wenden Sie die Schemaänderung auf die Quelltabelle an, z. B. Spalte mit Nullwerten hinzufügen.

  5. Erstellen Sie mit dem Verfahren sys.sp_cdc_enable_table eine neue Erfassungstabelle mit einem eindeutigen Wert für den Parameter @capture_instance.

  6. Setzen Sie die im ersten Schritt angehaltenen Anwendungen fort.

  7. Wenden Sie dieselbe Schemaänderung auf die Zieltabelle in BigQuery an.

  8. Starten Sie den Replikationsjob neu.

  9. Optional: Wenn der Job neue Änderungen streamt, die nach dem Erstellen der neuen Aufzeichnungstabelle im vorherigen Schritt auftreten, können Sie die alte Aufzeichnungstabelle mit der sys.sp_cdc_disable_table-Speicherprozedur löschen. Legen Sie den Parameter @capture_instance auf den Namen der alten Erfassungs-Instanz fest.

Nächste Schritte