Requête pour trouver les requêtes fonctionnant plus de 5 minutes dans la dernière heure :

select
    query_id,
    query_text,
    user_name,
    warehouse_name,
    start_time,
    end_time,
    datediff(second, start_time, end_time) as run_time_in_seconds
from table(information_schema.query_history())
where datediff(minute, start_time, end_time) > 5
and start_time > dateadd(hour, -1, current_timestamp())
order by start_time;

 

La même requête mais avec la possibilité de jouer sur la date de recherche en changeant 'current_timestamp()' par la date et heure :

select
    query_id,
    query_text,
    user_name,
    warehouse_name,
    start_time,
    end_time,
    datediff(second, start_time, end_time) as run_time_in_seconds
from table(information_schema.query_history(
    END_TIME_RANGE_START => dateadd(hour,-1,current_timestamp()),
    END_TIME_RANGE_END => current_timestamp() ))
where datediff(minute, start_time, end_time) > 5
order by start_time;

 

Requête pour afficher les requêtes démarrées dans les 5 dernières minutes et qui sont toujours en exécution :

select
    query_id,    query_text,
    user_name,
    warehouse_name,
    start_time,
    datediff(second, start_time, current_timestamp) as run_time_in_seconds
from table(information_schema.query_history(END_TIME_RANGE_START => dateadd(minute, -5, current_timestamp)))
where execution_status='RUNNING'
order by start_time;

 

Requête pour afficher les requêtes démarrées dans les 5 dernières minutes et qui sont toujours en exécution par un utilisateurs donné '<utilisateur>' à replacer dans la requête :

select
    query_id,
    query_text,
    user_name,
    warehouse_name,
    start_time,
    datediff(second, start_time, current_timestamp) as run_time_in_seconds
from table(information_schema.query_history_by_user(USER_NAME => '<utilisateur>'))
where execution_status='RUNNING'
order by start_time;