如何查明何时/谁将 BQ 表列从不可空更改为可空

问题描述 投票:0回答:1

我正在查看我创建的表,我注意到表中的所有列现在都可以为空。我知道我没有这样做,但我想知道是否有可能知道这件事何时发生以及谁改变了它。

有什么方法可以找到这些信息吗?

google-bigquery
1个回答
0
投票

您可以使用

information_schema.jobs

请参阅下面的查询 -

referenced_table.table_id
是您要查找已发生更改的表
user_email
泄露了谁做出了改变。注意:这也可以是
service account
user's email
。如果它是
service account
,则用户很有可能拥有
impersonated
service account
或者像
cloud build
这样的 Google 服务可能已经部署了更改。

另请注意,您必须搜索

query
列,可以通过
not null
语句或什至在
null
 上使用 
ALTER
 将该列从 
CREATE OR REPLACE
 变为 
table

SELECT user_email, job_type,statement_type,creation_time,start_time,end_time, query,state, ref.table_id
FROM `region-australia-southeast1`.INFORMATION_SCHEMA.JOBS,unnest(referenced_tables) as ref
where ref.table_id = 'newtable'
 order by creation_time desc

如果有上述查询,请参见屏幕截图。

© www.soinside.com 2019 - 2024. All rights reserved.