- カテゴリ:
システム関数 (システム制御)
SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL¶
複製時間中に複製されたパイプが通知チャネルに正常にバインドされなかった場合は、通知チャネルバインド処理を再試行します。バインディングに失敗するときは、次のような理由が考えられます。
複製中に、セカンダリ展開でクラウドメッセージングが正しく設定されていない。たとえば、同じ名前の通知統合が手動で作成されていない、 SNS ポリシーがサブスクリプションを許可するように設定されていないなどです。
Snowpipeがパイプを通知チャネルにバインドしようとすると、クラウドプロバイダーエラーが発生する。
パイプとそのソースステージは異なる複製グループにあり、パイプが複製されるときにステージが複製されない。
複製グループまたはデータベースをリフレッシュして、通知バインディングを再試行することもできます。しかし、プライマリアカウントがダウンしているか、すでにフェールオーバーが完了している場合は、このシステム関数を呼び出すしか方法がありません。
詳細については、 Snowpipe および ステージ、パイプ、ロード履歴の複製 をご参照ください。
構文¶
SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION( '<pipe_name>')
引数¶
'pipe_name'
再バインド通知処理を経由する必要があるパイプの名前。
アクセス制御の要件¶
パイプの所有者(つまり、パイプに対する OWNERSHIP 権限を持つロール) または パイプに対する OPERATE 権限のあるロールのみが、この SQL 関数を呼び出すことができます。
スキーマ内の任意のオブジェクトを操作するには、親データベースとスキーマに対する USAGE 権限も必要であることに注意してください。
使用上の注意¶
pipe_name
は文字列であるため、一重引用符で囲む必要があります。データベースとスキーマ(名前が完全修飾されている場合)を含む名前全体を一重引用符で囲む、つまり
'db.schema.pipe_name'
のようにする必要があります。パイプ名で大文字と小文字が区別されるか、特殊文字やスペースが含まれる場合、大文字と小文字の処理には二重引用符が必要です。二重引用符は一重引用符で囲む、つまり
'"pipe_name"'
のようにする必要があります。
例¶
mypipe
の通知チャネルバインディング処理を再試行します。
SELECT SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL('mydb.myschema.mypipe');