查找对象何时在雪花中掉落

Posted

技术标签:

【中文标题】查找对象何时在雪花中掉落【英文标题】:Find When Object Got DROPped in Snowflake 【发布时间】:2020-03-24 18:18:51 【问题描述】:

我们最近发现我们环境中的一个外部阶段神秘地消失了,不知道为什么。我假设一定有人在某个时候运行了 DROP STAGE 命令,但不知道谁可以这样做或何时发生。

我尝试在查询历史记录中搜索LIKE '%drop stage% 的实例,但没有得到任何点击。我猜因为这是一个 DDL 命令,所以查询历史记录是错误的地方。有什么方法可以查出舞台何时掉线?

【问题讨论】:

我听说角色管理有时在雪花中有点棘手。是否可能存在阶段,但您的角色失去了对阶段的权限? @KenHBS,不,我的角色拥有舞台的所有权,我能够重新创建它而不会遇到任何命名冲突。它肯定已经消失了。我也知道我肯定是一次创造了它。 【参考方案1】:

您可以通过查询 snowflake.account_usage.stages 共享视图找到移除阶段的日期。每个对象都有一个deleted 字段,该字段将在放置/删除阶段时更新。

【讨论】:

谢谢!我不知道这种观点存在。这准确地告诉我我在寻找什么。 如果我有一个阶段被删除,然后创建了一个新的同名阶段,它会在该视图中创建新记录,还是覆盖已删除的记录? 我不确定,但您可以随时查看 snowflake.account_usage.query_history 并过滤 query_type = 'DROP'。此视图将查询历史记录保留一年。 另外,请记住,雪花数据库的 account_usage 架构中的数据可能会延迟 45 分钟到 3 小时。 docs.snowflake.com/en/sql-reference/account-usage.html

以上是关于查找对象何时在雪花中掉落的主要内容,如果未能解决你的问题,请参考以下文章

描述雪花对象需要哪些授权?

雪花跟踪器由哪个用户更改

雪花合并对象/json

雪花中具有多个 JSON 对象的横向展平数组

如何从雪花中的json对象数组中选择数据

如何将所有数据提取到拆分行中的雪花对象数组中?