You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Azure Synapse专用SQL池近7天用户执行的SQL查询列表?

Azure Synapse专用SQL池:获取近7天用户执行的SQL查询列表

以下是可直接使用的查询语句,通过正确关联DMV视图筛选近7天数据,返回你需要的字段:

SELECT
    s.login_name AS LoginUserName,
    r.submit_time AS Query_Submit_time,
    r.end_time AS QueryEndTime,
    ISNULL(q.sql_text, r.command) AS Actual_SQL_Query,
    r.status AS Query_Status
FROM
    sys.dm_pdw_exec_requests r
JOIN
    sys.dm_pdw_exec_sessions s ON r.session_id = s.session_id
LEFT JOIN
    sys.dm_pdw_sql_requests q ON r.request_id = q.request_id
WHERE
    -- 筛选近7天的请求(Synapse DMV使用UTC时间)
    r.submit_time >= DATEADD(day, -7, GETUTCDATE())
    -- 排除系统会话(session_id < 50为系统内置会话)
    AND s.session_id >= 50
    -- 仅保留SQL查询类请求(可根据需求调整过滤条件)
    AND r.[type] = 'QUERY'
ORDER BY
    r.submit_time DESC;

关键说明:

  • LoginUserName:通过sys.dm_pdw_exec_sessions的login_name获取,需确保session_id关联正确,匹配会话与对应的执行请求。
  • Actual_SQL_Query:优先使用sys.dm_pdw_sql_requests.sql_text获取完整SQL语句;若该字段为空(部分特殊请求),则 fallback 到sys.dm_pdw_exec_requests.command字段。
  • 时间处理:Synapse DMV的时间字段均为UTC格式,若需转换为本地时间,可使用CONVERT(datetime, SWITCHOFFSET(r.submit_time, DATEPART(tzoffset, SYSDATETIMEOFFSET())))进行转换。
  • 权限要求:执行该查询需要VIEW SERVER STATE权限,若权限不足需联系管理员授权。
  • 数据有效期:Synapse专用SQL池的DMV数据默认保留约7天,刚好覆盖你的需求范围。

内容的提问来源于stack exchange,提问作者Gourav Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 04:04:54