是否可以保护雪花中的视图列?

时间:2020-04-14 06:45:50

标签: snowflake-cloud-data-platform change-management

我在一家公司工作,其中一个团队管理数据库,而其他团队则从那里使用表/视图。有时,视图会被重构,这可能会破坏其他团队的工作。

是否可以保护某些列,使它们不能简单地重命名/删除?或者至少有一条日志消息告诉想要这样做的人另一个团队依赖它?

2 个答案:

答案 0 :(得分:1)

在Snowflake中,只有具有角色角色的用户有权通过更改其定义来更新视图,从而可以在指定的视图上进行更改。如果特定角色具有替换视图定义的特权,则没有机制可以阻止它们重命名或删除列。

您可以在Snowflake Information_schema中的QUERY_HISTORY函数中查看日志。该函数提供了有关哪个用户运行查询以及运行时间的大量信息。如下查询将带来适当的信息:

select user_name, role_name, query_text, start_time, end_time from table(information_schema.query_history())

其中query_text喜欢'%replace view%' 按start_time desc排序;

答案 1 :(得分:1)

更改视图的特权为全部或全部。它不限制角色可以或不能更改,删除,添加等的列。但是,由于Snowflake允许将视图用作另一个视图的一部分,因此这可以构成组织整体方法的一部分,以执行您想要的工作。 / p>

例如,创建一个包含所有受保护列的基本视图。严格控制对哪些角色可以更改基本视图的访问。从基本视图的顶部创建视图,以减少特权级别较低的角色。