Определите, есть ли в хранилище данных 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 гарантирует, что вы не учитываете свой собственный запрос.

Другие вопросы по тегам