有没有办法知道雪花中上次访问表的时间

时间:2020-03-19 05:32:35

标签: snowflake-cloud-data-platform

我目前正在研究雪花,我需要查找雪花在上一次通过查询或手动访问表的时间。有人可以帮我吗?谢谢

2 个答案:

答案 0 :(得分:1)

如果您要进行选择的意思是,我认为没有办法按表进行操作,则必须监视最后执行的查询才能找到该信息:https://docs.snowflake.net/manuals/sql-reference/functions/query_history.html

更新方式:SYSTEM $ LAST_CHANGE_COMMIT_TIME应该为您提供所需的信息。

答案 1 :(得分:0)

Understanding Access History

<块引用>

Snowflake 中的访问历史是指用户查询是否读取列数据。 Snowflake 不记录写操作。用户访问历史可以在 Access_History 视图中找到(在本主题中)。

ACCESS_HISTORY 视图中的每一行包含每个查询的一条记录,并描述查询直接(即基表)和间接(即派生对象,如视图)访问的列。这些记录由于用户(即查询运算符)、查询、表或视图、列和数据之间存在直接链接,因此有助于监管合规性审计并提供有关流行和经常访问的表和列的见解。

ACCESS_HISTORY 视图的其他用例包括:

  • 发现未使用的数据以确定是归档还是删除数据。
  • 验证数据更改以在删除或更改给定表或视图之前通知用户。
  • 审核数据访问以符合监管要求和数据治理计划。

ACCESS_HISTORY View

<块引用>

此帐户使用情况视图可用于查询过去 365 天(1 年)内 Snowflake 对象(例如表、视图、列)的访问历史记录。

使用 object_id 值 32998411400350,确定最近 30 天内发生访问的时间:

SELECT query_id
       , query_start_time
FROM access_history
     , lateral flatten(base_objects_accessed) f1
WHERE f1.value:"objectId"::int=32998411400350
AND f1.value:"objectDomain"::string='Table'
AND query_start_time >= dateadd('day', -30, current_timestamp())
;