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

如何在Snowflake中查询删除/Drop表的操作人并完成根因分析

Snowflake删除表操作执行人员查询及RCA方法

短期(7天内)操作查询

直接查询当前数据库下的INFORMATION_SCHEMA.QUERY_HISTORY视图即可,无需高权限,查询语句如下:

SELECT
  QUERY_ID,
  QUERY_TEXT,
  USER_NAME,
  ROLE_NAME,
  START_TIME,
  EXECUTION_STATUS
FROM INFORMATION_SCHEMA.QUERY_HISTORY
WHERE
  QUERY_TYPE IN ('DROP_TABLE', 'DELETE') -- DELETE对应删表数据,DROP_TABLE对应删表结构
  AND QUERY_TEXT ILIKE '%你的表名%' -- 替换为实际被删的表名
  AND START_TIME >= DATEADD('day', -7, CURRENT_TIMESTAMP()) -- 调整为你要排查的时间范围
ORDER BY START_TIME DESC;

长期(1年内)操作查询

如果删除操作发生在7天之前,需要查询账户级的ACCOUNT_USAGE.QUERY_HISTORY视图,该视图需要ACCOUNTADMIN角色或者被授予对应访问权限才可查询,查询语句如下:

SELECT
  QUERY_ID,
  QUERY_TEXT,
  USER_NAME,
  ROLE_NAME,
  CLIENT_IP,
  CLIENT_APPLICATION,
  START_TIME
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
WHERE
  QUERY_TYPE IN ('DROP_TABLE', 'DELETE')
  AND QUERY_TEXT ILIKE '%你的表名%'
  AND START_TIME >= DATEADD('month', -3, CURRENT_TIMESTAMP()) -- 可按需调整最长到1年内
ORDER BY START_TIME DESC;

RCA根因分析辅助查询

除了确认执行人员,你可以通过以下方式补充完整RCA信息:

  • 匹配删除操作的时间点,查询INFORMATION_SCHEMA.PIPE_HISTORY视图,确认关联Pipe的失败时间和报错信息,验证影响范围
  • 查询TABLE_HISTORY视图,查看被删表的全生命周期变更记录,确认是否有多次删除、恢复操作
  • 如需验证操作来源,可以取上述查询结果中的CLIENT_IP、CLIENT_APPLICATION字段,确认是人工操作还是自动化任务执行的删除

注意:如果查询返回空结果,优先检查当前使用的角色是否拥有对应视图的访问权限,以及表名、时间范围的过滤条件是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:36:04