snowflake-cloud-data-platform - SNOWFLAKE.INFORMATION_SCHEMA 不显示任何记录
问题描述
我正在尝试从帐户管理员对 SNOWFLAKE.INFORMATION_SCHEMA 进行以下查询,但它返回错误。
查询:
Select
'databases' as category,
count(*) as found,
'3' as expected
from SNOWFLAKE.INFORMATION_SCHEMA.DATABASES
where DATABASE_NAME IN ('USDA_NUTRIENT_STDREF','LIBRARY_CARD_CATALOG','SOCIAL_MEDIA_FLOODGATES')
错误:
SQL 编译错误:数据库“SNOWFLAKE”不存在或未授权。
检查的 SNOWFLAKE 数据库存在,但它没有任何架构,包括 INFORMATION_SCHEMA
解决方案
数据库位于您的帐户下。Account 是 Snowflake 对象层次结构中的顶级对象。数据库在帐户下。查看此链接,并找到其中显示“最顶层的容器是客户帐户...”的文本。那里有一个漂亮的小图形。
当您在 Snowflake 数据库上查询 information_schema 时,您将获得的只是雪花数据库的 information_schema,而不是您的整个帐户。Snowflake.information_schema 有点无用 b/c 它只显示您无法控制的数据库(Snowflake)的信息模式 - Snowflake 控制它。
如果要查看帐户中的所有数据库,可以执行以下操作:
use role accountadmin;
show databases;
select count(*) from table(result_scan(last_query_id())) where "name" in ('USDA_NUTRIENT_STDREF','LIBRARY_CARD_CATALOG','SOCIAL_MEDIA_FLOODGATES');
现在,另外,如果您担心遇到的错误 - 您无权访问雪花数据库,那么我会说您要么没有使用 accountadmin 角色,要么没有使用具有正确权限的角色。如果您想为 Snowlfake 数据库授予角色权限,可以运行以下命令:
GRANT IMPORTED PRIVILEGES
ON DATABASE SNOWFLAKE TO ROLE {SOME_ROLE_OF_YOURS};
祝你好运!
推荐阅读
- python - 尝试使用自制软件安装 python3 时出错
- java - JMeter(unix版本)分段错误似乎依赖于循环/线程
- angular - 角材料。导入 MatIconRegistry 时出错
- matlab - 水平缩放绘图并在matlab中具有滚动条
- magento - Magento2.4.4 核心问题
- sql - 如何在单个查询中根据 where 条件获取 Count(*) 和表数据
- reactjs - Material UI 中的定制设计
- flutter - 端点中的用户输入文本
- variables - Common Lisp:如何在我父母的词法范围内设置一个变量?
- bash - Jenkins - 脚本阻止多个 bash 命令不起作用