Azure Synapse专用SQL池-查询日志

irlmq6kh  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(109)

我对Azure synapse专用SQL POOL还不太熟悉,我想用用户名查找过去七天内用户在专用SQL POOL上执行的SQL查询列表。
我尝试使用DMV sys.dm_pdw_exec_requests & sys.dm_pdw_exec_sessions,但无法获取正确的结果。
我期待以下格式的结果
登录用户名Query_Submit_time,QueryEndTime Actual_SQL_Query查询状态
有什么需要帮忙的吗

aydmsdu9

aydmsdu91#

Azure Synapse Analytics(以前称为SQL数据仓库)提供了一组动态管理视图(DMV),可给予您深入了解已运行的查询和负载。要获取用户在过去七天内在专用SQL池上执行的SQL查询的列表,您可以加入sys.dm_pdw_exec_requests和sys.dm_pdw_exec_sessions。
下面是一个查询,它应该会给予你想要的结果:

SELECT 
    s.login_name AS LoginUserName,
    r.start_time AS Query_Submit_time,
    r.end_time AS QueryEndTime,
    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
WHERE 
    r.start_time >= DATEADD(DAY, -7, GETDATE()) -- Filter for the last seven days
ORDER BY 
    r.start_time DESC;

字符串
这个查询将session_id上的两个DMV连接起来,并过滤结果,只显示最近七天的查询。结果将采用您指定的格式:LoginUserName、Query_Submit_time、QueryEndTime、Actual_SQL_Query和Query_Status。

相关问题