问题描述
我在 Azure Synapse Analytics (DWH) 中使用
SELECT *
FROM sys.dm_pdw_exec_sessions
查看最近 10,000 次登录,sys.dm_pdw_request_steps
查看给定请求的步骤,sys.dm_pdw_exec_requests
查看当前或最近的活动请求。
但是,当我想在 Azure sql DB 中执行相同操作时,出现错误:
无效的对象名称
我的问题是:在 Azure sql 数据库中是否有类似的 sys
视图可以完成相同的工作?
提前致谢
解决方法
您可以使用类似于经典 SqlServer 的 dmv:dm_exec_requests
和 dm_exec_sql_text
SELECT s.text,r.session_id,user_name(user_id) [user],status,CAST(GETDATE() - start_time AS TIME) [time],command,blocking_session_id [blsession],wait_type,cpu_time,wait_time,last_wait_type,wait_resource,logical_reads,reads,percent_complete,estimated_completion_time,start_time,plan_handle
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s
WHERE r.session_id NOT IN (@@SPID)