【问题标题】:Which user created a view on Snowflake哪个用户在 Snowflake 上创建了视图
【发布时间】:2020-07-17 08:24:33
【问题描述】:

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

【问题讨论】:

    标签: view snowflake-cloud-data-platform


    【解决方案1】:

    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 视图中输入他们的姓名或首字母缩写
    • 或者要求用户在他们的观点前加上他们的首字母前缀或后缀

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-02
      • 2023-02-21
      • 2022-08-14
      • 1970-01-01
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多