Categories:

System functions (System Control)

SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL

如果在复制期间复制的管道未成功绑定到通知通道,则重试通知通道绑定过程。绑定不成功可能有以下原因之一:

  • 在复制过程中,未在辅助部署中正确设置云消息传递。例如,未手动创建同名的通知集成,或 SNS 策略未设置为允许订阅等。
  • 当 Snowpipe 尝试将管道绑定到通知通道时,会出现云提供商错误。
  • 管道及其源暂存区处于不同的复制组中,复制管道时不会复制暂存区。

您也可以通过刷新复制组或数据库来重试通知绑定。但是,如果主账户宕机,或者故障转移已经完成,则唯一的选择就是调用该系统函数。

For more information, see Snowpipe and Stage, pipe, and load history replication.

语法

SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL( '<pipe_name>' )

实参

'pipe_name'

需要通过重新绑定通知流程的管道名称。

访问控制要求

  • Only the pipe owner (that is, the role with the OWNERSHIP privilege on the pipe) or a role with the OPERATE privilege on the pipe can call this SQL function.

    Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.

使用说明

  • pipe_name is a string so it must be enclosed in single quotes:
    • Note that the entire name must be enclosed in single quotes, including the database and schema (if the name is fully qualified), that is, 'db.schema.pipe_name'.
    • If the pipe name is case-sensitive or includes any special characters or spaces, double quotes are required to process the case/characters. The double quotes must be enclosed within the single quotes, that is, '"pipe_name"'.

示例

Retries the notification channel binding process for mypipe:

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