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

如何查询Snowflake中近期未使用角色的最后执行查询时间?

查询Snowflake角色最后执行查询的日期

不用纠结query_history_by_user函数,直接查Snowflake的系统视图就能搞定——QUERY_HISTORY视图里自带ROLE_NAME字段,能直接关联到执行查询时所用的角色。

基础查询语句

SELECT
    ROLE_NAME,
    MAX(START_TIME) AS LAST_QUERY_EXECUTION_TIME
FROM
    TABLE(INFORMATION_SCHEMA.QUERY_HISTORY())
WHERE
    ROLE_NAME IS NOT NULL
GROUP BY
    ROLE_NAME
ORDER BY
    LAST_QUERY_EXECUTION_TIME DESC;

进阶用法

  • 扩大时间范围:默认QUERY_HISTORY只保留最近7天数据,如果要查更久的(比如30天),可以指定时间区间:
SELECT
    ROLE_NAME,
    MAX(START_TIME) AS LAST_QUERY_EXECUTION_TIME
FROM
    TABLE(INFORMATION_SCHEMA.QUERY_HISTORY(
        DATEADD('day', -30, CURRENT_TIMESTAMP()),
        CURRENT_TIMESTAMP()
    ))
WHERE
    ROLE_NAME IS NOT NULL
GROUP BY
    ROLE_NAME
ORDER BY
    LAST_QUERY_EXECUTION_TIME DESC;
  • 排除系统角色:如果不想看ACCOUNTADMIN这类默认角色,加个过滤条件:
AND ROLE_NAME NOT IN ('ACCOUNTADMIN', 'SYSADMIN', 'SECURITYADMIN', 'USERADMIN')
  • 查询特定角色:直接锁定目标角色:
WHERE ROLE_NAME = 'YOUR_TARGET_ROLE'

权限说明

只有拥有MONITOR权限的角色(比如ACCOUNTADMIN、SECURITYADMIN)能查看全账户的查询历史,普通用户只能查到自己的操作记录。另外,查询历史的保留时长由账户配置决定,超出期限的记录无法检索。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:15:34