如何找出用户的帐户使用情况 > 特定日期以及他使用特定查询的时间
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 天)。
作为监视过程的一部分,我想从雪花数据库查询,用户在特定日期后使用雪花数据库执行查询的时间。这样做的目的是为了防止用户 运行 长查询。
我想知道帐户使用历史。我对 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 天)。