EXECUTE ALERT

手动执行独立于警报计划的 警报

小技巧

您还可以使用 Snowflake REST APIs 来执行此操作。有关信息,请参阅 执行警报(REST 端点引用)

另请参阅:

CREATE ALERTALTER ALERTDROP ALERTSHOW ALERTSDESCRIBE ALERT

语法

EXECUTE ALERT <name>
Copy

参数

name

要执行的警报的标识符。

如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

有关更多信息,请参阅 标识符要求

访问控制要求

用于执行此 SQL 命令的 角色 必须至少具有以下 权限

权限

对象

备注

EXECUTE ALERT

账户

OWNERSHIP 或 OPERATE

警报

USAGE

仓库

对用于警报的仓库为必填项。

请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • 警报始终以警报所有者的权限运行,即使具有 OPERATE 权限的其他角色使用 EXECUTE ALERT 执行警报也是如此。

  • 如果警报当前处于暂停状态,则 EXECUTE ALERT 命令可以执行警报,但不会恢复警报。警报仍处于暂停状态。

  • 如果警报当前正在运行(即警报在 ALERT_HISTORY 表函数输出或 ALERT_HISTORY 视图 中的状态为 EXECUTING),则 EXECUTE ALERT 命令会计划在当前警报运行完成后立即开始再次运行。

  • 如果警报当前已计划(即警报在 ALERT_HISTORY 表函数输出或 ALERT_HISTORY 视图中的状态为 SCHEDULED),则计划的运行将替换为请求的运行,当前时间戳将被设置为计划的时间。

    但是,如果计划的时间已过,但警报的状态尚未转换为 EXECUTING,则计划的运行将照常进行。(计划的运行不会替换为 EXECUTE ALERT 命令请求的运行。)

示例

以下语句可手动触发名为 myalert 的警报:

EXECUTE ALERT myalert;
Copy
语言: 中文