タグとSnowflake機能の相互作用について¶
複製¶
タグとその割り当ては、ソースアカウントからターゲットアカウントに複製できます。
ソースアカウントから最初に複製した後に、ターゲットアカウントでタグの割り当てを変更することはできません。たとえば、セカンダリ(つまり、複製された)データベースにタグを設定することは許可されていません。ターゲットアカウントでタグの割り当てを変更するには、ソースアカウントでそれらを変更し、ターゲットアカウントに複製します。
データベース複製 の場合は、次のいずれかの条件に該当すると、複製操作に失敗します。
プライマリデータベースはEnterprise(またはそれ以上)のアカウントにあり、タグを含んでいますが、下位エディションには、複製が承認された1つ以上のアカウントがあります。
プライマリデータベースに含まれるオブジェクトには、別のデータベースにあるタグへの ダングリングリファレンス がある。
ダングリングリファレンスエラーを回避するには、 複製またはフェールオーバーグループ を使用して、データベースとアカウントレベルのオブジェクトを複製します。複製グループに次が含まれていることを確認します。
ALLOWED_DATABASES
プロパティのタグを含むデータベース。OBJECT_TYPES
プロパティにタグを持つその他のアカウントレベルのオブジェクト(例:ROLES
、WAREHOUSES
)。詳細については、 CREATE REPLICATION GROUP および CREATE FAILOVER GROUP をご参照ください。
注釈
複製とフェールオーバーグループ、またはデータベース複製を使用する場合:
フェールオーバー/フェールバック機能は、Business Critical Edition(またはそれ以上)のSnowflakeアカウントでのみ利用できます。
詳細については、 複数のアカウント間にわたる複製とフェールオーバーの概要 をご参照ください。
複製またはフェールオーバーグループのために、 ALTER DATABASE ステートメント内、または CREATE OR ALTER ステートメント内でデータベース複製の
IGNORE EDITION CHECK
句を指定すると、ターゲットアカウントのエディションが Business Critical よりも下位の場合にタグの複製が発生する可能性があります。詳細については、これらのコマンドにある句の説明をご参照ください。
クローニング¶
ソースオブジェクト(例: テーブル)にあるタグの関連付けは、クローンされたオブジェクトで維持されます。
データベースまたはスキーマの場合は、
そのデータベースまたはスキーマに保存されているタグもクローンされます。
データベースまたはスキーマがクローンされると、そのスキーマまたはデータベースに存在するタグもクローンされます。
テーブルまたはビューがソーススキーマ/データベースに存在し、同じスキーマまたはデータベースにあるタグへの参照がある場合、クローンされたテーブルまたはビューは、ソーススキーマまたはデータベースにあるタグの代わりに、対応するクローンタグ(ターゲットスキーマ/データベース内)にマップされます。
データ共有¶
共有ビューとタグが異なるデータベースに存在する場合は、タグを含むデータベースに対する REFERENCE_USAGE 権限を共有に付与します。詳細については、 複数データベースからのデータの共有 をご参照ください。
データ共有のコンシューマーアカウントで、
SHOW TAGS コマンドを実行するロールが共有タグを含むスキーマ上で USAGE 権限を持っている場合、 SHOW TAGS コマンドを実行すると共有タグが返されます。
プロバイダーがタグに対する READ 権限を共有または共有データベースロールに付与した場合、コンシューマーは共有タグのタグ割り当てを表示できます。情報については、 共有タグリファレンス を参照してください。
データ共有プロバイダーアカウントのタグが共有テーブルに割り当てられている場合、データ共有コンシューマーは、 SYSTEM$GET_TAG 関数または TAG_REFERENCES Information Schemaテーブル関数を呼び出して、タグの割り当てを表示することはできません。