【Snowflake】【トラブル】エラー「Ownership restriction violation」時の対応

■ はじめに

https://dk521123.hatenablog.com/entry/2022/08/02/090439
https://dk521123.hatenablog.com/entry/2023/04/14/151140

に近いのだが、別エラーがでたので、メモ。

【1】トラブル概要

 テーブルの所有権を変更するために
以下「実行したSQL」したところ、
以下「【2】エラー内容」のエラーが表示された

実行したSQL

grant ownership on table test_db.test_schema.sample_table
  to role operation_user revoke current grants;

【2】エラー内容

SQL execution error:
Ownership restriction violation in a managed access schema.
Grantee need to be a subordinate role of the schema owner.

【3】原因

対象テーブル「sample_table」の上位のスキーマ「test_schema」
の所有者が別所有者だったため

【4】解決案

テーブル所有者変更前に、スキーマの所有者を変更し、
その後にテーブル所有者を変更する

SQL

-- [1] スキーマの所有者を変更
grant ownership on schema test_db.test_schema
  to role operation_user revoke current grants;

-- [2] テーブル所有者を変更
grant ownership on table test_db.test_schema.sample_table
  to role operation_user revoke current grants;

関連記事

Snowflake ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/02/130111
Snowflake ~ 入門編 / Hello world
https://dk521123.hatenablog.com/entry/2021/11/22/212520
エラー「Insufficient privileges to operate」時の対応
https://dk521123.hatenablog.com/entry/2022/08/02/090439
エラー「<Object> does not exist or not authorized」時の対応
https://dk521123.hatenablog.com/entry/2022/08/18/120935
エラー「Failure using stage area. ... AccessDenied」時の対応
https://dk521123.hatenablog.com/entry/2022/10/27/195547
エラー「Error assuming AWS_ROLE」時の対応
https://dk521123.hatenablog.com/entry/2022/11/25/175912
所有権変更後にエラー「current role has no privileges on it」
https://dk521123.hatenablog.com/entry/2023/04/14/151140