作为监控过程的一部分,我想从雪花数据库查询,用户在特定日期后使用雪花数据库执行查询的时间。这样做的目的是防止用户运行长查询。
帐户使用历史是我想知道的一些事情。我对雪花很陌生。
有什么方法可以从元数据中查询吗?
还有一个名为STATEMENT_TIMEOUT_IN_SECONDS的参数来控制长时间运行的查询。设置为系统取消正在运行的SQL语句(查询、DDL、DML等(的时间(以秒为单位(。可以设置为帐户»用户»会话;也可以为单个仓库设置。默认设置为172800(2天(。
您可以使用查询历史视图来满足此需求
在这个视图中有许多列,您可以根据自己的需求进行适当的查看和使用。
示例查询:
SELECT query_id,
query_text,
query_type,
session_id,
user_name,
warehouse_name,
start_time,
end_time,
total_elapsed_time,
compilation_time,
execution_time
FROM snowflake.account_usage.query_history
WHERE user_name = 'anyusername'
AND Cast (start_time AS DATE) >= 'yourdate in yyyy-mm-dd format'
AND total_elapsed_time > 600000 -- around 10 minutes in milliseconds or you can specify any number here
AND warehouse_name = 'your datawarehouse name'
ORDER BY execution_time DESC;