哪个用户在Snowflake上创建了视图

时间:2020-04-05 10:25:00

标签: view snowflake-cloud-data-platform

有什么方法可以吸引创建视图的用户(而不是角色)? 我尝试了desc,show,grants,但无法获得特定用户

1 个答案:

答案 0 :(得分:3)

INFORMATION_SCHEMA.QUERY_HISTORY *表函数具有USER_NAME列,您可以在QUERY_TEXT上进行过滤以查找视图的CREATE语句。

这应该起作用,除非使用变量创建了视图。例如:CREATE OR REPLACE VIEW IDENTIIER($MY_VAR)...,其中MY_VAR是包含视图名称的变量。


更新

INFORMATION_SCHEMA.QUERY_HISTORY表函数返回过去7天的结果。另请参见ACCOUNT_USAGE.QUERY_HISTORY表函数,该函数将返回过去365天的结果,且间隔为45分钟。


更新2

您还可以使用以下约定:

  • 为每个用户提供自己的模式,该模式由其姓名或首字母组成
  • 要求用户在视图“ COMMENT”中放置其姓名或首字母缩写
  • 或要求用户使用自己的姓名缩写作为前缀或后缀

如果视图是使用脚本或存储过程创建的,则可以自动执行上述操作。

最后,虽然这不是最佳实践,但实际上您可以为每个用户创建一个单独的角色。但是,这会产生大量的管理开销,尤其是在您扩展时,因此不建议这样做。

相关问题