- 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>')
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.
USAGE-Berechtigung für die übergeordnete Datenbank und das Schema ist erforderlich, um Operationen an einem beliebigen Objekt in einem Schema durchzuführen. Beachten Sie, dass eine Rolle, die eine beliebige Berechtigung für ein Schema erhalten hat, es dieser Rolle erlaubt, das Schema aufzulösen. Zum Beispiel kann eine Rolle, der die CREATE-Berechtigung für ein Schema gewährt wurde, Objekte in diesem Schema erstellen, ohne auch USAGE für dieses Schema gewährt bekommen zu haben.
Nutzungshinweise¶
pipe_nameist 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');