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:
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.
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>');
Dabei sind
<Datenbank>
und<Schema>
die Namen der vorhandenen Datenbank bzw. des Schemas.Halten Sie den Konnektor an
call pause_connector();
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);
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.
Fortsetzen des Konnektors
call resume_connector();
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 = ...;
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.
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';
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;
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.
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();
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.
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;
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');
Importieren Sie den Status
Initialisieren Sie den Konnektor mit dem Status, der vom primären Konto repliziert wurde:
call import_state(true);
Fortsetzen des Konnektors
Setzen Sie den Konnektor fort, indem Sie Folgendes ausführen:
call resume_connector();
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.