类别:

:doc:`/sql-reference/functions-system`(系统控制)

SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL

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

  • 在复制过程中,未在辅助部署中正确设置云消息传递。例如,未手动创建同名的通知集成,或 SNS 策略未设置为允许订阅等。

  • 当 Snowpipe 尝试将管道绑定到通知通道时,会出现云提供商错误。

  • 管道及其源暂存区处于不同的复制组中,复制管道时不会复制暂存区。

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

有关更多信息,请参阅 Snowpipe暂存区、管道和加载历史记录复制

语法

SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION( '<pipe_name>')
Copy

实参

'pipe_name'

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

访问控制要求

  • 只有管道所有者(即对管道具有 OWNERSHIP 权限的角色):emph: 对管道具有 OPERATE 权限的角色才能调用这个 SQL 函数。

    要对架构中的任何对象执行操作,需要对父数据库和架构的 USAGE 权限。

使用说明

  • pipe_name 是一个字符串,因此必须放在单引号内:

    • 请注意,整个名称必须放在单引号内,包括数据库和架构(如果名称是完全限定名称),即 'db.schema.pipe_name'

    • 如果管道名称区分大小写或包含任何特殊字符或空格,则需要使用双引号来处理大小写/字符。双引号必须放在单引号内,即 '"pipe_name"'

示例

重试 mypipe 的通知通道绑定过程:

SELECT SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL('mydb.myschema.mypipe');
Copy
语言: 中文