by shigemk2

当面は技術的なことしか書かない

GRANT OWNERSHIPのCOPYとREVOKE

やってること

所有権が新しいロールに譲渡されるときに、オブジェクトの既存のアウトバウンド権限すべてを削除するか、譲渡するかを指定します。

なので、copy current grantsをつけたら権限が残るし、revoke current grantsをつけたら権限が消える。 デフォルトはrevoke current grants。

オブジェクトにアウトバウンド(つまり依存)権限が存在する場合、 GRANT OWNERSHIP ステートメントはブロックされます。オブジェクトの所有者(またはそれ以上の役割)は、現在のすべての権限を新しい所有者のロールに対して明示的にコピーするか( COPY CURRENT GRANTS オプションを使用)、所有権を譲渡する 前 にオブジェクトのすべてのアウトバウンド権限を取り消します( REVOKE CURRENT GRANTS オプションを使用)。

でも既に付与されている権限があったら、revoke current grantsを明示しないとだめ。

docs.snowflake.com