Notfallwiederherstellung konfigurieren

Die Snowflake Connector for ServiceNow® unterliegt den Nutzungsbedingungen für Snowflake Connector.

Die Snowflake Connector for ServiceNow® kann so konfiguriert werden, dass eine zweite Instanz zur Unterstützung der Notfallwiederherstellung verwendet wird.

Über die Unterstützung der Snowflake Connector for ServiceNow®-Notfallwiederherstellung

Die Snowflake Connector for ServiceNow® speichert Metadaten über konfigurierte Tabellen und ihre eigene Konfiguration innerhalb der Anwendungsinstanz. Wenn die App abgebrochen wird oder beschädigt ist, geht dieser interne Status verloren. Um dies zu verhindern, exportiert der Konnektor die Metadaten zusammen mit den aufgenommen Daten bei bestimmten Ereignissen in die Zieldatenbank, wie z. B.:

  • Planen einer neuen Datenaufnahme

  • Abschließen des Nachladens

  • Abbrechen des Nachladens

Der Exportvorgang erstellt mehrere Tabellen im Zielschema, um den internen Status des Konnektors zu speichern. Diese Tabellen enthalten nicht die aufgenommenen Daten, sind aber wichtig, um den Zustand des Konnektors wiederherzustellen, nachdem die App beendet wurde oder beschädigt ist. Wenn diese Tabellen repliziert werden, können sie auch dazu verwendet werden, den Status des Konnektors auf einem anderen Snowflake-Konto wiederherzustellen. Die folgenden Tabellen werden durch den Exportvorgang erstellt:

  • APP_CONFIG_SFSDKEXPORT_V1

  • APP_STATE_SFSDKEXPORT_V1

  • CONNECTOR_ERRORS_LOG_SFSDKEXPORT_V1

  • INGESTION_PROCESS_SFSDKEXPORT_V1

  • INGESTION_RUN_SFSDKEXPORT_V1

  • NOTIFICATIONS_STATE_SFSDKEXPORT_V1

  • RESOURCE_INGESTION_DEFINITION_SFSDKEXPORT_V1

  • __CONNECTOR_STATE_EXPORT

Importieren vorhandener Daten und Berichte in eine neue Instanz des Konnektors.

Wenn Snowflake Connector for ServiceNow® deinstalliert oder beschädigt wurde, ist es möglich, die Aufnahme von zuvor konfigurierten Tabellen fortzusetzen, vorausgesetzt, die Zieldatenbank wurde nicht gelöscht. Die Metadaten für die im Konnektor konfigurierten Tabellen werden in der Zieldatenbank zusammen mit den aufgenommenen Daten gespeichert.

Um nach der Installation einer neuen Konnektorinstanz mit der Datenaufnahme fortzufahren, gehen Sie wie folgt vor:

  1. Konnektor konfigurieren

    Konfigurieren Sie den Konnektor, indem Sie die Anweisungen unter Installieren und Konfigurieren des Konnektors mit Snowsight oder Installieren und Konfigurieren des Konnektors mit SQL-Befehlen befolgen. Wählen Sie bei der Auswahl der Zieldatenbank und des Schemas das vorhandene Schema aus, das Daten enthält, die von der vorherigen Instanz des Konnektors aufgenommen wurden.

  2. Erteilen Sie dem Konnektor die erforderlichen Berechtigungen.

    Bemerkung

    Dieser Schritt ist nur erforderlich, wenn Sie den Konnektor mit SQL-Befehlen installiert und konfiguriert haben. Wenn Sie den Konnektor über die Snowsight installiert haben, können Sie diesen Schritt überspringen.

    Führen Sie den folgenden Befehl aus, um sicherzustellen, dass der neu installierte Konnektor der Eigentümer aller Objekte im bestehenden Schema wird:

    system$grant_ownership_to_application('your_application_instance', true, '<database>', '<schema>');
    
    Copy

    Dabei sind <Datenbank> und <Schema> die Namen der vorhandenen Datenbank bzw. des Schemas.

  3. Halten Sie den Konnektor an

    call pause_connector();
    
    Copy
  4. Importieren Sie die vorhandenen Daten und die Tabellenkonfiguration.

    Importieren Sie die vorhandenen Daten und die Tabellenkonfiguration, indem Sie den folgenden Befehl aus dem Kontext der installierten Anwendung ausführen:

    call import_state(force => true);
    
    Copy

    Der Parameter force wird auf true gesetzt, um sicherzustellen, dass alle Änderungen, die möglicherweise an dem frisch installierten Konnektor vorgenommen wurden, mit der Tabellenkonfiguration und den internen Daten der alten Installation überschrieben werden.

  5. Fortsetzen des Konnektors

    call resume_connector();
    
    Copy

An diesem Punkt sollte die neue Instanz des Snowflake Connector for ServiceNow®-Konnektors die Aufnahme der vorhandenen Tabellen fortsetzen.

Replizieren der Zieldatenbank und des Konnektorstatus in eine andere Snowflake-Bereitstellung

Dieser Abschnitt beschreibt die Schritte zur Replikation des Inhalts der Zieldatenbank. Die Zieldatenbank enthält die aufgenommenen Daten und die Metadaten für die im Konnektor konfigurierten Tabellen. Wenn der Konnektor oder die vom Konnektor heruntergeladenen Daten für Ihr Unternehmen von entscheidender Bedeutung sind, sollten Sie ein zweites Snowflake-Konto in einer anderen Region einrichten und die Zieldatenbank auf das zweite Konto replizieren.

Begriffe und Definitionen

Die folgenden Begriffe und Definitionen werden während des Konfigurationsprozesses für die Notfallwiederherstellung verwendet.

Destination Database

Die Datenbank, die als Ziel für die vom Konnektor aufgenommenen Daten konfiguriert wurde. Dies ist auch die Datenbank, in die der interne Status des Konnektors exportiert wird.

Destination Schema

Das Schema, das als Ziel für die vom Konnektor aufgenommenen Daten konfiguriert wurde.

Internal State

Die internen Daten und die Konfiguration des Konnektors, z. B. Tabellenkonfigurationen, Aufnahmestatus und Fehlerprotokolle.

Connector Instance

Die Snowflake Connector for ServiceNow®-Konnektorinstanz, die auf dem Snowflake-Konto installiert ist.

ACCOUNT_PRIM

Beispielname des primären Kontos

ACCOUNT_SEC

Beispielname des sekundären (Replik-)Kontos

APP_PRIM

Beispiel Snowflake Connector for ServiceNow®-Konnektorinstanzname, der auf dem primären Konto installiert ist

APP_SEC

Beispiel- Snowflake Connector for ServiceNow®-Konnektorinstanzname, der auf dem sekundären Konto installiert ist

DST_DB.DST_SCHEMA

Beispiel für den Namen des Zielschemas für die Konnektorinstanz (wo Daten erfasst und der interne Status des Konnektors gespeichert werden)

DST_DB

Beispielname der Zieldatenbank, die für den Konnektor konfiguriert wurde

MYORG

Beispielname Ihrer Organisation (beide Konten müssen in derselben Organisation sein)

Einführung

Wenn der Snowflake Connector for ServiceNow®-Konnektor (Konnektorinstanz) auf Ihrem Konto installiert ist, erscheint er als normale Datenbank, die Daten, Prozeduren usw. enthält. Sie kann jedoch nicht wie eine normale Datenbank auf ein zweites Konto repliziert werden. Derzeit gibt es keinen nativen Mechanismus, um die Konnektorinstanz mit ihrem internen Status auf ein Replikationskonto zu replizieren. Insbesondere kann die installierte App nicht zu einer Replikationsgruppe hinzugefügt werden.

Anstatt die Konnektorinstanz direkt zu replizieren, exportiert der Konnektor die Metadaten der konfigurierten Tabellen in das während der Einrichtung des Konnektors konfigurierte Zielschema. Der Status wird dort gespeichert und kann zusammen mit den aufgenommenen Daten repliziert werden.

Wenn Sie den Konnektor beispielsweise so konfiguriert haben, dass er Daten in das Zielschema DST_DB.DST_SCHEMA einspeist, speichert er seinen internen Status automatisch in diesem Schema. Mit dem folgenden Befehl können Sie dann sowohl die aufgenommenen Daten als auch den internen Status replizieren:

create replication group connector_dest_database_group
  object_types = databases
  allowed_databases = dst_db
  allowed_accounts = ...;
Copy

Einrichten der Replikation von aufgenommenen Daten und konfigurierten Berichten

Vorsicht

Testen Sie immer Ihre Verfahren zur Notfallwiederherstellung, um zu überprüfen, ob die Daten- und Statusreplikation wie erwartet funktioniert.

Bevor Sie fortfahren, machen Sie sich mit der Snowflake-Replikation vertraut.

Die folgenden Abschnitte enthalten Anweisungen, die für alle Versionen von Snowflake gelten.

  1. Installieren des Konnektors auf dem primären Konto

    Installieren und konfigurieren Sie Snowflake Connector for ServiceNow® auf dem primären Konto. Eine ausführliche Anleitung finden Sie unter Installieren und Konfigurieren des Konnektors mit Snowsight oder Installieren und Konfigurieren des Konnektors mit SQL-Befehlen.

    Erstellen Sie auf dem primären Konto eine Replikationsgruppe und fügen Sie DST_DB als zulässige Datenbank hinzu:

    -- on primary account
    create replication group connector_rep_group_prim
      object_types = databases
      allowed_databases = dst_db
      allowed_accounts = myorg.account_sec
      replication_schedule = '10 minute';
    
    Copy
  2. Einrichten der Replikation auf dem sekundären Konto

    Um DST_DB vom primären Konto auf das sekundäre Konto zu replizieren, erstellen Sie eine neue Replikationsgruppe für das sekundäre Konto:

    -- on secondary account
    create replication group connector_rep_group_sec
      as replica of myorg.account_prim.connector_rep_group_prim;
    
    alter replication group connector_rep_group_sec refresh;
    
    Copy

    Zu diesem Zeitpunkt sollte eine schreibgeschützte DST_DB-Datenbank auf dem sekundären Konto erstellt werden, und die Daten des primären Kontos werden gemäß dem konfigurierten Zeitplan repliziert.

  3. Installieren des Konnektors auf dem sekundären Konto

    Installieren und konfigurieren Sie Snowflake Connector for ServiceNow® auf dem sekundären Konto auf dieselbe Weise wie auf dem primären Konto. Weisen Sie die Instanz an, Daten in die replizierte Datenbank und das Schema zu übernehmen. Solange die Replikation läuft (bis die Replikationsgruppe auf dem sekundären Konto gelöscht wird), befindet sich die Datenbank im schreibgeschützten Modus. Der Konnektor kann so konfiguriert werden, dass er eine schreibgeschützte Datenbank als Aufnahmeziel verwendet. Er kann jedoch erst dann Daten aufnehmen, wenn die Datenbank in den Schreib-Lese-Modus übergeht.

    Nachdem Sie den Konnektor auf dem sekundären Konto konfiguriert haben, pausieren Sie ihn, indem Sie Folgendes ausführen:

    -- on secondary account
    call pause_connector();
    
    Copy

    Zu diesem Zeitpunkt ist der Konnektor installiert und bereit, bei einem Ausfall des primären Kontos zu übernehmen.

Verfahren zur Wiederherstellung

Wenn die primäre Bereitstellung nicht mehr verfügbar ist, konfigurieren Sie die Konnektorinstanz auf dem sekundären Konto, um die Aufnahme fortzusetzen.

Wichtig

Alle Schritte müssen auf dem zweiten Konto ausgeführt werden.

  1. Löschen Sie die Replikationsgruppe

    Löschen Sie die Replikationsgruppe auf dem sekundären Konto, um die replizierte Datenbank in den Schreib-Lese-Modus zu versetzen:

    drop replication group connector_rep_group_sec;
    
    Copy
  2. Gewähren Sie dem Konnektor die Eigentümerschaft an bestehenden Datenbankobjekten

    Gewähren Sie dem Konnektor die Eigentümerschaft an allen Objekten im replizierten Schema, indem Sie Folgendes ausführen:

    call system$grant_ownership_to_application('app_sec', true, 'dst_db', 'dst_schema');
    
    Copy
  3. Importieren Sie den Status

    Initialisieren Sie den Konnektor mit dem Status, der vom primären Konto repliziert wurde:

    call import_state(true);
    
    Copy
  4. Fortsetzen des Konnektors

    Setzen Sie den Konnektor fort, indem Sie Folgendes ausführen:

    call resume_connector();
    
    Copy

    An diesem Punkt sollte der Konnektor des sekundären Kontos die Datenaufnahme fortsetzen und dort fortfahren, wo der Konnektor des primären Kontos aufgehört hat.

    Bemerkung

    Stellen Sie sicher, dass sowohl das primäre als auch das sekundäre Konto derselben Organisation angehören. Der Replikationszeitplan kann an Ihre Anforderungen angepasst werden.