我在逻辑应用程序中使用Azure REST API 。每天晚上,逻辑应用程序都会检查 DW 以查看状态是否为“在线”,如果为 TRUE,它会发出暂停。这是有效的,但没有考虑 DW 是否有任何活动或排队的操作。根据文档,发出暂停“取消所有正在运行或排队的操作”。
我不想丢失或影响任何人的工作,所以我只想在 DW 空闲时暂停。有没有办法检测是否有任何正在运行或排队的操作?
我在逻辑应用程序中使用Azure REST API 。每天晚上,逻辑应用程序都会检查 DW 以查看状态是否为“在线”,如果为 TRUE,它会发出暂停。这是有效的,但没有考虑 DW 是否有任何活动或排队的操作。根据文档,发出暂停“取消所有正在运行或排队的操作”。
我不想丢失或影响任何人的工作,所以我只想在 DW 空闲时暂停。有没有办法检测是否有任何正在运行或排队的操作?
是 - 使用基于此链接上的“监控活动查询”示例的查询。
就像是:
select count(*)
from sys.dm_pdw_exec_requests
where status not in ('Completed','Failed','Cancelled')
and session_id <> session_id()
session_id 子句确保您不计算自己的查询。