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

Snowflake无法使用Schema问题:授权所有权后仍报错

问题&解决方案

问题详情

创建新用户与新角色并完成角色分配后,执行了以下授权:

GRANT OWNERSHIP ON SCHEMA <DB name>.<schema name> TO ROLE <role name>;
GRANT USAGE ON DATABASE <DB name> TO ROLE <role name>;

但执行USE SCHEMA <schema name>;时触发报错:

002043 (02000): SQL compilation error:
Object does not exist, or operation cannot be performed.

补充情况:

  • 自身创建的Schema可正常使用,但其他用户/角色创建的Schema,即便将所有权授予新角色,仍无法访问
  • 执行show SCHEMAS;仅显示自身创建的Schema,已授权的Schema未出现在列表中

解决步骤

1. 确认会话上下文与角色切换

先切换到目标角色,再指定完整的Schema路径尝试使用:

USE ROLE <role name>;
USE SCHEMA <DB name>.<schema name>;

如果省略数据库名直接使用Schema,需先切换到对应数据库:

USE DATABASE <DB name>;
USE SCHEMA <schema name>;

2. 补充Schema的USAGE权限

虽然OWNERSHIP理论上包含所有权限,但显式授予USAGE可解决元数据可见性问题:

GRANT USAGE ON SCHEMA <DB name>.<schema name> TO ROLE <role name>;

3. 验证权限配置并刷新

  • 检查用户是否已正确关联目标角色:
    SHOW GRANTS TO USER <user name>;
    
  • 确认角色拥有Schema所有权:
    SHOW GRANTS ON SCHEMA <DB name>.<schema name>;
    
  • 若刚完成权限配置,执行刷新命令或重新登录会话:
    REFRESH PRIVILEGES;
    

4. 检查会话当前状态

执行以下命令确认当前使用的角色、数据库是否匹配预期:

SELECT CURRENT_ROLE(), CURRENT_DATABASE(), CURRENT_SCHEMA();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:54:43