我正在查看我创建的表,我注意到表中的所有列现在都可以为空。我知道我没有这样做,但我想知道是否有可能知道这件事何时发生以及谁改变了它。
有什么方法可以找到这些信息吗?
您可以使用
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
如果有上述查询,请参见屏幕截图。