如何找出用户的帐户使用情况 > 特定日期以及他使用特定查询的时间

How to find out Account usage by user > particular date and how much time he used particular query

作为监视过程的一部分,我想从雪花数据库查询,用户在特定日期后使用雪花数据库执行查询的时间。这样做的目的是为了防止用户 运行 长查询。

我想知道帐户使用历史。我对 snowflakedb 很陌生。

有没有办法从元数据中查询?

You can use Query history view for this requirement

此视图中有许多列,您可以根据需要查看和使用。

示例查询:

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; 

还有一个名为STATEMENT_TIMEOUT_IN_SECONDS的参数来控制长运行查询。设置为以秒为单位的时间量,在此之后 运行 SQL 语句(查询、DDL、DML 等)将被系统取消。可以为帐户 » 用户 » 会话设置;也可以为个别仓库设置。默认设置为 172800(2 天)。