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

如何查询Snowflake数据库对象的未来所有权配置?

查看Snowflake数据库对象的未来所有权配置

要提前确定Snowflake中未来创建对象的所有者,可通过以下两种方式查询已配置的未来所有权规则:

1. 查询系统视图

Snowflake提供了多个账户级系统视图,专门记录未来权限的授予情况:

查询数据库级的未来所有权配置

针对你提到的DB数据库,执行以下SQL查看所有未来对象的所有权授予:

SELECT 
  GRANTEE_NAME,
  PRIVILEGE_TYPE,
  OBJECT_TYPE AS FUTURE_OBJECT_TYPE,
  DATABASE_NAME
FROM 
  SNOWFLAKE.ACCOUNT_USAGE.DATABASE_FUTURE_GRANTS
WHERE 
  DATABASE_NAME = 'DB'
  AND PRIVILEGE_TYPE = 'OWNERSHIP';

结果中的GRANTEE_NAME字段就是未来对应类型对象的所有者角色。

查询Schema级的未来所有权配置

如果是针对特定Schema的未来对象配置,可查询SCHEMA_FUTURE_GRANTS:

SELECT 
  GRANTEE_NAME,
  PRIVILEGE_TYPE,
  OBJECT_TYPE AS FUTURE_OBJECT_TYPE,
  DATABASE_NAME,
  SCHEMA_NAME
FROM 
  SNOWFLAKE.ACCOUNT_USAGE.SCHEMA_FUTURE_GRANTS
WHERE 
  DATABASE_NAME = 'DB'
  AND SCHEMA_NAME = 'PUBLIC' -- 替换为目标Schema
  AND PRIVILEGE_TYPE = 'OWNERSHIP';

2. 使用DESCRIBE命令查看对象的未来权限

直接针对数据库或Schema执行DESCRIBE命令,结果中会包含FUTURE_GRANTS条目:

查看数据库的未来权限

DESCRIBE DATABASE DB;

在返回的结果集中,找到property为FUTURE_GRANTS的行,value列会列出所有被授予未来所有权的角色及对应的对象类型。

查看Schema的未来权限

DESCRIBE SCHEMA DB.PUBLIC;

同样在结果中查找FUTURE_GRANTS条目,即可获取该Schema下未来对象的所有者配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 11:45:16