Как выяснить использование учетной записи пользователем> конкретную дату и сколько времени он использовал конкретный запрос - PullRequest
1 голос
/ 28 марта 2020

Я хочу запросить у снежной базы данных в рамках процесса мониторинга, сколько времени пользователь использует Snowkedb для выполнения своих запросов после определенной даты. Цель этого состоит в том, чтобы запретить пользователям выполнять длинные запросы.

История использования учетной записи - это то, что я хотел знать. Я очень новичок в Snowkedb.

Есть ли способ запроса метаданных?

Ответы [ 2 ]

1 голос
/ 28 марта 2020

Существует также параметр STATEMENT_TIMEOUT_IN_SECONDS для управления длительными запросами. Задайте количество времени в секундах, после которого выполняемый оператор SQL (запрос, DDL, DML и т. Д. c.) Отменяется системой. Можно настроить для учетной записи »Пользователь» Сессия; также может быть установлен для индивидуальных складов. По умолчанию установлено значение 172800 (2 дня).

1 голос
/ 28 марта 2020

Вы можете использовать представление истории запросов для этого требования

В этом представлении есть много столбцов, которые вы можете просматривать и использовать в соответствии с вашими требованиями.

Пример запроса :

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; 
...