Kategorien:

Systemfunktionen (Systemsteuerung)

SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL

Wiederholt den Bindungsprozess des Benachrichtigungskanals, wenn eine replizierte Pipe während der Replikationszeit nicht erfolgreich an einen Benachrichtigungskanal gebunden wurde. Das Binden kann aus einem der folgenden Gründe fehlschlagen:

  • Das Cloudmessaging ist in der sekundären Bereitstellung während der Replikation nicht korrekt eingerichtet. Beispielsweise wird eine Benachrichtigungsintegration mit demselben Namen nicht manuell erstellt, oder die SNS-Richtlinie ist nicht so eingestellt, dass ein Abonnement möglich ist, usw.

  • Es liegt ein Fehler des Cloudanbieters vor, wenn Snowpipe versucht, die Pipe an den Benachrichtigungskanal zu binden.

  • Die Pipe und der zugehörige Stagingbereich befinden sich in unterschiedlichen Replikationsgruppen, und der Stagingbereich wird nicht repliziert, wenn die Pipe repliziert wird.

Sie können die Benachrichtigungsbindung auch erneut versuchen, indem Sie die Replikationsgruppe oder die Datenbank aktualisieren. Wenn jedoch das Primärkonto ausgefallen ist oder ein Failover bereits abgeschlossen wurde, ist das Aufrufen dieser Systemfunktion die einzige Option.

Weitere Informationen dazu finden Sie unter Snowpipe und Replikation von Stagingbereichen, Pipes und des Ladeverlaufs.

Syntax

SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION( '<pipe_name>')
Copy

Argumente

'pipe_name'

Der Name der Pipe, die den Neubindungsprozess für Benachrichtigungen durchlaufen muss.

Anforderungen an die Zugriffssteuerung

  • Nur der Pipe-Eigentümer (d. h. die Rolle mit OWNERSHIP-Berechtigung für die Pipe) oder eine Rolle mit OPERATE-Berechtigung für die Pipe kann diese SQL-Funktion aufrufen.

    Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.

Nutzungshinweise

  • pipe_name ist eine Zeichenfolge und muss daher in einfache Anführungszeichen gesetzt werden:

    • Beachten Sie, dass der gesamte Name in einfache Anführungszeichen eingeschlossen werden muss, einschließlich Datenbank und Schema (wenn der Name vollqualifiziert ist), d. h. 'db.schema.pipe_name'.

    • Wenn der Pipename zwischen Groß- und Kleinschreibung unterscheidet bzw. Sonderzeichen oder Leerzeichen enthält, sind doppelte Anführungszeichen erforderlich, damit sich Groß- und Kleinschreibung/Zeichen korrekt verarbeiten lassen. Die doppelten Anführungszeichen müssen in einfache Anführungszeichen eingeschlossen werden, d. h. '"pipe_name"'.

Beispiele

Wiederholen den Bindungsprozesses des Benachrichtigungskanals für mypipe:

SELECT SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL('mydb.myschema.mypipe');
Copy