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

Snowflake中Schema所有权权限为空,如何为ACCOUNTADMIN分配该权限?

Snowflake Schema所有权为空时的权限修复方案

步骤1:确认当前角色与Schema状态

  • 确保当前会话使用ACCOUNTADMIN角色:
    use role ACCOUNTADMIN;
    
  • 精确查询Schema的权限与所有者信息:
    show grants on schema "DATABASE_NAME"."SCHEMA_NAME";
    -- 或查看Schema详情确认owner字段
    desc schema "DATABASE_NAME"."SCHEMA_NAME";
    

步骤2:修复无主Schema的所有权

当Schema所有权为空时,直接执行grant ownership可能因无当前所有者失败,可按以下方式处理:

  • 先清理Schema上的残留公共权限:
    revoke all on schema "DATABASE_NAME"."SCHEMA_NAME" from public;
    
  • 重新分配所有权,添加with grant option确保后续权限管理:
    grant ownership on schema "DATABASE_NAME"."SCHEMA_NAME" to role ACCOUNTADMIN with grant option;
    
  • 若上述命令仍失败,使用FORCE参数强制转移无主对象的所有权:
    grant ownership on schema "DATABASE_NAME"."SCHEMA_NAME" to role ACCOUNTADMIN with grant option force;
    

步骤3:验证权限并执行表删除操作

  • 确认权限分配成功:
    show grants on schema "DATABASE_NAME"."SCHEMA_NAME";
    
  • 执行表删除命令:
    drop table "DATABASE_NAME"."SCHEMA_NAME"."TABLE_NAME";
    

备选方案:直接分配单表DROP权限(跳过Schema所有权修复)

若仅需删除特定表,可直接给ACCOUNTADMIN分配目标表的DROP权限:

use role ACCOUNTADMIN;
grant drop on table "DATABASE_NAME"."SCHEMA_NAME"."TABLE_NAME" to role ACCOUNTADMIN;
drop table "DATABASE_NAME"."SCHEMA_NAME"."TABLE_NAME";

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 12:55:25