雪花云数据平台如何查找上次修改视图的用户



我在名为"db"的数据库中有一个名为"employee"的视图

通过以下查询,我可以看到上一次更改视图是在"2022-10-07 12:55:14.238+0000":

select * from db.information_schema.tables where TABLE_NAME = 'employee'

然而,我没有关于修改它的用户的信息。

是否有一个查询可以让我找到更改视图的用户的名称?

SNOWFLAKE.ACCOUNT_SAGE.QUERY_HISTORY视图记录在帐户中执行的查询的历史记录。我们可以通过使用相应的过滤器来跟踪完成特定活动的用户,在这种情况下,是最后一次修改视图的用户

use role ACCOUNTADMIN;
SELECT START_TIME,USER_NAME,QUERY_TEXT
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
WHERE START_TIME >= '2022-09-01' 
AND START_TIME < '2022-09-31'
AND QUERY_TEXT ILIKE '%ALTER VIEW%<VIEWNAME>%'
ORDER BY START_TIME DESC;

https://docs.snowflake.com/en/sql-reference/account-usage/access_history.html#access-历史视图

https://docs.snowflake.com/en/user-guide/access-history.html#access-历史

雪花.account_usage.access_history视图中可用的OBJECTS_MODIFIED列可以使用

SELECT USER_NAME
, QUERY_ID
, QUERY_START_TIME
, DIRECT_OBJECTS_ACCESSED
, BASE_OBJECTS_ACCESSED,OBJECTS_MODIFIED
FROM ACCESS_HISTORY
ORDER BY 1, 3 DESC
;

https://docs.snowflake.com/en/sql-reference/account-usage/query_history.html#query-历史视图

LAST_DDL_BY包含有关用户的信息:

SELECT LAST_DDL_BY, LAST_DDL, *
FROM SNOWFLAKE.ACCOUNT_USAGE.VIEWS;
SELECT LAST_DDL_BY, LAST_DDL, *
FROM INFORMATION_SCHEMA.VIEWS;

VIEWS视图(信息模式(:

LAST_DDL_BY对表或视图执行最后一次DDL操作的用户的用户名。

最新更新