Определите, есть ли в хранилище данных SQL Azure запущенные или поставленные в очередь операции
Я использую API Azure REST внутри приложения логики. Каждый вечер приложение логики проверяет DW, чтобы увидеть, если статус "В сети", и если TRUE, он выдает паузу. Это работает, но не учитывает, активен ли DW или какие-либо операции в очереди. Согласно документации, выдача паузы "отменяет все запущенные или поставленные в очередь операции".
Я не хочу терять или влиять на чью-либо работу, поэтому я хотел бы сделать паузу только в том случае, если DW бездействует. Есть ли способ определить, есть ли какие-либо запущенные или поставленные в очередь операции?
1 ответ
Решение
Да - используйте запрос, основанный на примере "Отслеживать активные запросы" по этой ссылке.
Что-то вроде:
select count(*)
from sys.dm_pdw_exec_requests
where status not in ('Completed','Failed','Cancelled')
and session_id <> session_id()
Предложение session_id гарантирует, что вы не учитываете свой собственный запрос.