Snowflake Task已启用但未按指定CRON计划执行是什么原因?
Snowflake已启动任务未按计划触发的常见原因
- 调度时间规则问题:如果你执行
ALTER TASK TASK_DELETE3 RESUME的时间晚于当日UTC 2:27,任务会自动顺延到下一个调度周期(次日UTC 2:27)才会首次触发,不会回溯执行已经过去的调度时间点。你可以执行以下语句查询任务的历史执行记录,确认是否有触发或报错信息:
SELECT * FROM TABLE(INFORMATION_SCHEMA.TASK_HISTORY(TASK_NAME => 'TASK_DELETE3', SCHEDULED_TIME_RANGE_START => DATEADD('day', -7, CURRENT_TIMESTAMP()))) ORDER BY SCHEDULED_TIME DESC;
- 计算资源异常:任务绑定的
TEST仓库如果处于暂停状态、已被删除,或者SYSADMIN角色没有该仓库的USAGE权限,都会导致任务触发失败。可执行SHOW WAREHOUSES LIKE 'TEST'查看仓库状态和权限配置。 - 对象权限缺失:除了已经授予的
EXECUTE TASK权限外,SYSADMIN角色还需要同时具备以下权限才能正常执行任务逻辑:- 源库
TEST1的USAGE权限、TEST1.PUBLICschema的USAGE权限、TEST1.PUBLIC.DELETE表的SELECT权限 - 目标库
TEST2的USAGE权限、TEST2.PUBLICschema的USAGE权限、TEST2.PUBLICschema的CREATE TABLE权限
- 源库
- 账户任务配额限制:如果你的Snowflake账户当前同时运行的任务数量达到了账户层级的并发任务配额,新的任务触发会被延后甚至丢弃,可联系账户管理员查询当前任务配额使用情况。
- 执行逻辑校验问题:你创建的表名使用了SQL关键字
DELETE,虽然加双引号可以正常识别,但部分账户如果开启了SQL标识符大小写强制转换的全局参数,可能导致任务执行时识别不到对应对象。你可以先手动执行一次任务的SQL逻辑,验证是否能正常运行:
CREATE OR REPLACE TABLE TEST2."PUBLIC"."DELETE" CLONE TEST1."PUBLIC"."DELETE";
内容的提问来源于stack exchange,提问作者knozawa
相关产品推荐
相关产品推荐

