- 类别:
:doc:`/sql-reference/functions-system`(系统控制)
SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION_CHANNEL¶
如果在复制期间复制的管道未成功绑定到通知通道,则重试通知通道绑定过程。绑定不成功可能有以下原因之一:
在复制过程中,未在辅助部署中正确设置云消息传递。例如,未手动创建同名的通知集成,或 SNS 策略未设置为允许订阅等。
当 Snowpipe 尝试将管道绑定到通知通道时,会出现云提供商错误。
管道及其源暂存区处于不同的复制组中,复制管道时不会复制暂存区。
您也可以通过刷新复制组或数据库来重试通知绑定。但是,如果主账户宕机,或者故障转移已经完成,则唯一的选择就是调用该系统函数。
有关更多信息,请参阅 Snowpipe 和 暂存区、管道和加载历史记录复制。
语法¶
SYSTEM$PIPE_REBINDING_WITH_NOTIFICATION( '<pipe_name>')
实参¶
'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');