You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake在表上创建Stream报错:CHANGE_TRACKING未开启权限不足

报错根因

Snowflake的Stream功能依赖源表的CHANGE_TRACKING配置捕获插入、更新、删除等DML变更记录,源表未开启该配置时,就会触发该权限类报错。

排查步骤
  • 验证源表的CHANGE_TRACKING状态,执行如下SQL,替换对应占位符后查询:
    SELECT CHANGE_TRACKING FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_CATALOG = '<源表所在库名>' AND TABLE_SCHEMA = '<源表所在Schema名>' AND TABLE_NAME = '<源表名>';
    若返回结果为FALSE,即可确认是该配置未开启导致的问题。
  • 确认当前使用的角色拥有源表的ALTER权限,只有持有该权限的角色才能修改CHANGE_TRACKING配置,执行如下SQL验证:
    SHOW GRANTS ON TABLE <源表所在库名>.<源表所在Schema名>.<源表名>;
    在返回结果的privilege列中,查看当前角色是否对应有ALTER权限。
解决步骤
  1. 切换到拥有源表ALTER权限的角色:
    USE ROLE <拥有权限的角色名>;
  2. 开启源表的CHANGE_TRACKING配置:
    ALTER TABLE <源表所在库名>.<源表所在Schema名>.<源表名> SET CHANGE_TRACKING = TRUE;
  3. 重新执行Stream创建语句即可正常完成创建。

注意:CHANGE_TRACKING开启后会产生额外的存储成本,变更数据保留时长与表所属Schema的DATA_RETENTION_TIME_IN_DAYS参数保持一致;如果后续不再需要对应Stream,可手动关闭该配置减少存储开销。


内容的提问来源于stack exchange,提问作者Sri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:54:03