我是Snowflake的新手。是否可以查询雪花Db中所有表的SCHEMATA,TABLES,COLUMNS等信息模式视图,而无需选择访问基础表。要求是创建一个用户/帐户,该用户/帐户只能访问雪花Db的查询元数据,而不能对表数据进行选择访问。请告知。
答案 0 :(得分:1)
从Snowflake文档中:
“视图或表函数的输出取决于特权 授予用户的当前角色。当查询一个 INFORMATION_SCHEMA视图或表函数,仅对象 当前角色已被授予访问权限,将被返回。”
换句话说,当您查询INFORMATION_SCHEMA视图时,您将看不到您无权访问的对象的元数据。
要解决此问题,可以使用ACCOUNTADMIN之类的角色,该角色具有对所有表的权限,并使用所需INFORMATION_SCHEMA视图的结果填充新表。然后授予您的新角色对该表的访问权限。您甚至可以在Snowflake中设置任务以定期更新表。
参考文献:
答案 1 :(得分:0)
我相信您不会在信息架构视图中看到该对象。因此,您需要访问该对象的特权。
非常感谢, 斯里加