【发布时间】:2020-07-17 08:24:33
【问题描述】:
有什么方法可以获取创建视图的用户(而不是角色)? 我尝试了 desc、show、grants on view 但无法获取特定用户
【问题讨论】:
标签: view snowflake-cloud-data-platform
有什么方法可以获取创建视图的用户(而不是角色)? 我尝试了 desc、show、grants on view 但无法获取特定用户
【问题讨论】:
标签: view snowflake-cloud-data-platform
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
您还可以使用以下约定:
如果视图是使用脚本或存储过程创建的,那么您可以自动执行上述操作。
最后,虽然这不是最佳做法,但实际上您可以为每个用户创建一个单独的角色。但是,这会产生大量管理开销,尤其是在您进行扩展时,因此不建议这样做。
【讨论】: