複数のアカウント間にわたる複製とフェールオーバーの概要

この機能により、 ソース アカウントから同じ組織内にある1つ以上の ターゲット アカウントにオブジェクトを複製できるようになります。各ターゲットアカウントで複製されたオブジェクトは、 セカンダリ オブジェクトと呼ばれ、ソースアカウントの プライマリ オブジェクトのレプリカです。複製は、 リージョン および クラウドプラットフォーム 全般でサポートされています。

複製とフェールオーバー/フェールバックのリージョンサポート

Amazon Web Services、Google Cloud Platform、およびMicrosoft Azure全般のSnowflakeの全リージョンで、複製をサポートしています。

お客様は、 リージョングループ 内のすべてのリージョンで複製できます。異なるリージョングループ内のリージョン間(つまり、Snowflake商用リージョンからSnowflake政府またはVirtual Private Snowflakeリージョン)で複製するには、 Snowflakeサポート にお問い合わせください。

複製グループとフェールオーバーグループ

複製グループ は、1つ以上のターゲットアカウントにユニットとして複製される、ソースアカウント内のオブジェクトの定義済みコレクションです。複製グループは、複製されたオブジェクトへの読み取り専用アクセスを提供します。

フェールオーバーグループ は、フェールオーバーも可能な複製グループです。ターゲットアカウントのセカンダリフェールオーバーグループは、複製されたオブジェクトに読み取り専用アクセスを提供します。セカンダリフェールオーバーグループがプライマリフェールオーバーグループに昇格すると、読み取り/書き込みアクセスが利用可能になります。フェールオーバーグループで許可されているアカウントのリストで指定されているターゲットアカウントは、プライマリフェールオーバーグループとして機能するように昇格できます。

複製グループとフェールオーバーグループは、ターゲットアカウント上のオブジェクトに対して特定時点における一貫性を提供します。複製またはフェールオーバーグループに含めることができるオブジェクトは、以下の 複製されたオブジェクト にリストされています。

複製機能/エディションのマトリックス

一部の複製機能は、Business Critical Edition(またはそれ以上)でのみ使用可能であることに注意してください。次のテーブルに、各Snowflakeエディションにおける複製機能の可用性をリストします。

機能

標準

Enterprise

Business Critical

VPS

データベース複製

✔

✔

✔

✔

共有複製

✔

✔

✔

✔

複製グループ

✔

✔

✔

✔

アカウントオブジェクト(データベースおよび共有以外)複製

✔

✔

フェールオーバーグループ

✔

✔

Tri-Secret Secure で保護されたデータ

✔

✔

データセットの複製

✔

✔

Cortex Search Serviceの複製

✔

✔

複製されたオブジェクト

この機能は、以下にリストされているオブジェクトの複製をサポートします。データベース複製および共有複製は、すべてのエディションで利用できます。その他すべてのオブジェクトの複製は、Business Critical Edition(またはそれ以上)でのみ使用できます。機能の可用性の詳細については、 複製機能/エディションのマトリックス をご参照ください。

オブジェクト

タイプまたは機能

複製

注意

データベース

✔

一部のデータベースの複製はサポートされていないか、更新操作に失敗する可能性があります。詳細については、 複製の現在の制限 をご参照ください。

外部ボリューム

✔

フェールオーバーグループの複製には、Business Critical Edition(またはそれ以上)が必要です。複製グループの複製は、すべてのアカウントで利用できます。

統合

セキュリティ、 API、通知、ストレージ、外部アクセス

✔

サポートされているタイプに関するその他の注意事項と詳細については、 統合複製 をご参照ください。

Business Critical Edition(またはそれ以上)が必要です。

リスト

✔

Business Critical Edition(またはそれ以上)が必要です。

ネットワークポリシー

✔

Business Critical Edition(またはそれ以上)が必要です。

パラメーター(アカウントレベル)

✔

Business Critical Edition(またはそれ以上)が必要です。

プロファイル

✔

Business Critical Edition(またはそれ以上)が必要です。

ユーザー 向けプログラムアクセストークン

✔

ユーザーとロールが複製されると、ユーザーのプログラムアクセストークンが自動的に複製されます。

リソースモニター

✔

グループに users を含めると、非管理者ユーザーのリソースモニター通知は複製されますが、アカウント管理者の通知設定は複製されません。詳細については、 リソースモニターのメール通知設定の複製 をご参照ください。

Business Critical Edition(またはそれ以上)が必要です。

ロール

✔

  • アカウントとデータベースロール を含みます。

  • ロールに付与された権限、およびロールに付与されたロール(つまり、ロールの階層)が含まれます。

  • ユーザーとロールが複製されると、ユーザーに付与されたロールも複製されます。

  • REPLICATE 権限と FAILOVER 権限は複製 されません。

  • Business Critical Edition(またはそれ以上)が必要です。

共有

✔

インバウンド共有 (プロバイダーからの共有)の複製はサポート されていません。

ユーザー

✔

Business Critical Edition(またはそれ以上)が必要です。

ウェアハウス

✔

Business Critical Edition(またはそれ以上)が必要です。:doc:`インタラクティブなウェアハウス</user-guide/interactive>`を含みます。

ワークスペース

✔

Business Critical Edition(またはそれ以上)が必要です。

データベース複製

Snowflakeアカウントの複製は、データベースの複製をサポートしています。データベースの複製には、そのデータベースに含まれるオブジェクトが含まれます。データベースのリフレッシュ操作には、そのデータベースの前回の更新以降のオブジェクトとデータへの変更が含まれます。

roles が(同じまたは異なる複製またはフェールオーバーグループで)複製される場合、データベースの更新では、アカウントにあるセカンダリデータベースとデータベース内のオブジェクト(スキーマ、テーブル、ビューなど)に対する権限の付与も同期されます。詳細については、 データベースオブジェクトの付与 をご参照ください。

一部のデータベースの複製はサポートされていないか、更新操作に失敗する可能性があります。詳細については、 複製の現在の制限 をご参照ください。

複製されたデータベースオブジェクト

プライマリデータベースが複製されると、そのデータベースオブジェクトとデータのスナップショットがセカンダリデータベースに転送されます。ただし、一部のデータベースオブジェクトは複製されません。次の表には、セカンダリデータベースに複製されるデータベースオブジェクトが示されています。

これらのオブジェクトに関する特定の使用情報については、 複製に関する考慮事項 をご参照ください。

注釈

複製がサポート*されていない*オブジェクトは複製中にスキップされ、フェールオーバー後にターゲットアカウントで使用できなくなります。

オブジェクト

タイプまたは機能

複製

注意

スキーマ

✔

デフォルトでは、複製されたデータベースのスキーマはすべて複製されます。フェールオーバーグループを使用する場合、データベース内で複製するスキーマを選択できます。詳細については、 フェールオーバーグループのスキーマレベルの複製 をご参照ください。

テーブル

永続テーブル

✔

一時テーブル

✔

エラーテーブル

✔

詳細については、 DML エラーのログ記録 をご参照ください。

仮テーブル

クラスタ化されたテーブルの自動クラスタリング

✔

動的テーブル

✔

詳細については、 複製と動的テーブル をご参照ください。

外部テーブル

ハイブリッドテーブル

Apache Iceberg™ テーブル

✔

Snowflake管理Icebergテーブルのみがサポートされています。Icebergテーブルの複製には外部ボリュームの複製が必要です。詳細については、 Snowflake管理 Apache Iceberg™ テーブルの複製を設定する をご参照ください。

インタラクティブテーブル

✔

テーブルの制約

✔

データベースの外部キーが別のデータベースのプライマリ/ユニークキーを参照する場合を除きます。.

イベントテーブル

シーケンス

✔

ビュー

ビュー

✔

ビューが別のデータベースのオブジェクト(例: テーブル列、他のビュー、 UDFs、またはステージ)を参照する場合は、 . 両方のデータベースを複製する必要があります。

マテリアライズドビュー

✔

セキュアビュー

✔

セマンティックビュー

✔

セマンティックビューが他のオブジェクト(たとえば、テーブル、ビュー、Cortex Search Service)を参照する場合は、それらのオブジェクトも複製する必要があります。

ユーザー定義型

✔

ファイル形式

✔

ステージ

ステージ

✔

複製およびフェールオーバーグループでのみサポートされます。データベース複製はサポートされていません。. 詳細については、 ステージ、パイプ、ロード履歴の複製 をご参照ください。

仮ステージ

パイプ

✔

複製およびフェールオーバーグループでのみサポートされます。データベース複製はサポートされていません。. 詳細については、 ステージ、パイプ、ロード履歴の複製 をご参照ください。

ストアドプロシージャ

✔

詳細については、 ストアドプロシージャとユーザー定義関数の複製(UDFs) をご参照ください。

ストリーム

✔

詳細については、 複製とストリーム をご参照ください。

タスク

✔

詳細については、 複製とタスク をご参照ください。

データメトリック関数(DMFs)

データの品質

✔

詳細については、 データメトリック関数の複製(DMFs) をご参照ください。

UDFs

✔

詳細については、 ストアドプロシージャとユーザー定義関数の複製(UDFs) をご参照ください。

ポリシー

集計ポリシー

✔

認証ポリシー

✔

列レベルのセキュリティ(マスキング)

✔

マスキング、行アクセス、およびタグベースのマスキングポリシーについては、 ポリシー複製に関する考慮事項 をご参照ください。

結合ポリシー

✔

パスワードポリシー

✔

プライバシーポリシー

✔

詳細については、 プライバシーポリシー をご参照ください。

投影ポリシー

✔

行アクセスポリシー

✔

セッションポリシー

✔

セッション、パスワード、認証ポリシーについては、 複製とセキュリティポリシー をご参照ください。

タグベースのマスキングポリシー

✔

バックアップポリシー

✔

  • バックアップ はすべてのSnowflakeエディションで利用できます。

  • 保持ロック付きのバックアップと法的保持付きのバックアップはBusiness Critical Edition(またはそれ以上)で使用できます。アップグレードについては、 Snowflakeサポート にお問い合わせください。

ストレージライフサイクルポリシー

✔

ポリシーとアーカイブデータの複製については、 複製とストレージのライフサイクルポリシー をご参照ください。

タグ

オブジェクトのタグ付け

✔

タグについては、 複製とタグ をご参照ください。

アラート

✔

シークレット

外部 API 認証のシークレット

✔

複製グループとフェールオーバーグループを使用することで、シークレットを複製できます。詳細については、 複製とシークレット をご参照ください。

ネットワークルール

✔

ネットワークルールを使用するネットワークポリシーの複製については、 ネットワークポリシーの複製 を参照してください。

バックアップ

バックアップセット

✔

  • バックアップ はすべてのSnowflakeエディションで利用できます。

  • 保持ロック付きのバックアップと法的保持付きのバックアップはBusiness Critical Edition(またはそれ以上)で使用できます。アップグレードについては、 Snowflakeサポート にお問い合わせください。

クラスインスタンス

CUSTOM_CLASSIFIER

✔

レプリケーションは、 CUSTOM_CLASSIFIER クラスのインスタンスでサポートされています。他のすべてのSnowflake クラス のインスタンスは複製 されません。Snowflakeクラスの全リストについては、 利用可能なクラス をご参照ください。

パッケージポリシー

Python UDF、 UDTF、ストアドプロシージャ

✔

ソースアカウントに パッケージポリシー が設定されている場合、アカウントオブジェクトを正常に複製するには、パッケージポリシーを含むデータベースを、同じまたは異なる複製グループまたはフェールオーバーグループ内のターゲットアカウントに複製する必要があります。そうでない場合、更新操作は ダングリング参照エラー で失敗します。

機械学習ワークフロー用オブジェクト

モデル

✔

使用情報については、 Snowflakeモデルレジストリ をご覧ください。

データセット

✔

データセットに対する複製の仕組みについては、 データセットの複製 をご覧ください。

オンライン特徴量テーブル

オンライン特徴量テーブルは、複製やクローンをサポートしていません。

Gitリポジトリのクローン

✔

Gitリポジトリのクローンに対する複製の仕組みについては、 Gitリポジトリの複製 をご覧ください。Gitリポジトリのクローンの使用情報については、 SnowflakeでのGitリポジトリの使用 をご覧ください。

Snowflake Notebooks

✔

Snowflake Notebooks の複製の動作方法については、 ノートブックの複製 をご参照ください。

dbtプロジェクト

✔

詳細については、 複製とdbtプロジェクト をご参照ください。

Cortexナレッジ拡張(CKEs)

✔

CKEs </user-guide/snowflake-cortex/cortex-knowledge-extensions/cke-overview>`の複製の動作方法について詳しくは、:doc:/user-guide/snowflake-cortex/cortex-search/cortex-search-replication`を参照してください。

データベースの複製と暗号化

Snowflakeは、保管中およびソースアカウントとターゲットアカウント間で転送中のメタデータとデータセットを保護します。アカウント マスターキー (AMK)は、 階層キーモデル に示すように、アカウント内のキー階層を暗号化します。Snowflakeは、ターゲットアカウントで Tri-Secret Secure を有効にしているかどうかに関係なく、ターゲットアカウントのアカウントマスターキーとキー階層を使用して、ターゲットアカウントの複製されたデータを暗号化します。

ターゲットアカウントで Tri-Secret Secure を有効にすると、Snowflakeはターゲットアカウントの複合マスターキーと対応するキー階層を使用してデータを暗号化します。ターゲットアカウントでは、デフォルトで Tri-Secret Secure が有効になっていないことに注意してください。この機能を有効にする必要があります。

Snowflakeのデータ暗号化の詳細については、 Snowflakeのエンドツーエンド暗号化について をご参照ください。

外部ボリュームの複製

Icebergテーブルは外部ボリュームに依存しています。これはアカウントレベルのオブジェクトであり、外部クラウドストレージに接続するために追加の構成が必要です。Icebergテーブルの複製を作成する前に、外部ボリュームの複製を構成する必要があります。アカウントの複製は、外部ボリュームの複製をサポートしています。外部ボリュームとSnowflake管理Icebergテーブルの複製については、 Snowflake管理 Apache Iceberg™ テーブルの複製を設定する をご参照ください。

外部ボリュームの詳細については、 外部ボリューム をご参照ください。

統合複製

アカウントの複製では、次の機能に対する統合の複製がサポートされています。

リストの複製

自動フルフィルメントが有効になっているリストの場合、この機能により、リストと(オプションで)その共有をフェールオーバーグループに追加して、複製とフェールオーバーを行うことができます。

詳細については、 ビジネス継続性と障害復旧におけるリストのサポート をご参照ください。

ネットワークポリシーの複製

この機能は、ネットワークポリシーの複製をサポートします。

詳細については、 複数のアカウントにわたるセキュリティ統合とネットワークポリシーの複製 をご参照ください。

パラメーターの複製

この機能は、アカウントレベルのパラメーターとオブジェクトパラメーターの複製をサポートします。オブジェクトパラメーターは、オブジェクトが複製グループに含まれている場合に複製されます。たとえば、 WAREHOUSES が複製される場合は、ウェアハウス固有のパラメーター(例: STATEMENT_TIMEOUT_IN_SECONDS)が複製されます。完全なリストについては、 オブジェクト パラメーター をご参照ください。

アカウントレベルのパラメーター複製には、すべての アカウントパラメーター および アカウントに設定されたパラメーター が含まれます。複製グループのオブジェクトタイプのリストに ACCOUNT PARAMETERS が含まれている場合は、アカウントレベルのパラメーター(例: DATA_RETENTION_TIME_IN_DAYS)が複製されます。

プロファイル

この機能は、フェールオーバーグループへのプロファイルの追加をサポートしています。プロバイダープロファイルについて詳しくは、:doc:`/collaboration/provider-profiles-managing`を参照してください。

リソースモニターの複製

この機能は、リソースモニターと、リソースモニターで付与された権限をロールに複製することをサポートします。セカンダリリソースモニターは、プライマリと同じクォータリセットスケジュールに従います。たとえば、プライマリリソースモニターのクォータが月の1日にリセットされ、セカンダリがその月の15日に最初に複製された場合、そのクォータはプライマリとともに翌月の1日にリセットされます。

リソースモニターのメール通知設定の複製

リソースモニターのメール通知設定は、リソースモニターの複製には含まれません。管理者以外のユーザーに対するメール通知は、リソースモニターで複製できます。ただし、アカウント管理者の通知設定は、現在複製されません。

  • 複製グループまたはフェールオーバーグループの object_types リストに users と resource monitors が含まれている場合、管理者以外のユーザーの通知設定は複製されます。

    • ウェアハウスレベルのリソースモニターの notify_users リストはターゲットアカウントに複製されます。

    • 管理者以外のユーザーのメール通知 は、ターゲットアカウントで送信されます。

  • 複製グループまたはフェールオーバーグループの object_types リストに resource monitors が含まれ、 users が含まれない場合、セカンダリウェアハウスレベルのリソースモニターの notify_users リストは空になります。

  • アカウント管理者の通知設定は 複製されません。

    • アカウント管理者は、ウェブインターフェイスを使用して、各アカウントで メール通知を有効にする 必要があります。

    • アカウント管理者がソースおよび/またはターゲットアカウントでメール通知を有効にしている場合、リソースモニター通知はアカウント管理者に送信されます。

ロールの複製

この機能は、ロール階層を含む、ロールの複製をサポートします。アクセス権限を複製するには、ロールオブジェクトを複製する必要があります。複製されたアクセス権限は、以下の ロールと付与の複製 にリストされています。

注釈

すべてのロールが複製されます。

共有複製

この機能は、共有オブジェクトと、データベースオブジェクトの共有に付与されたアクセス権限の複製をサポートします。

インバウンド共有 (プロバイダーからの共有)はサポート されていません。

データベース、スキーマ、およびテーブルバックアップのバックアップ複製

Snowflake バックアップ 機能を使用すると、特定のデータベース、スキーマ、またはテーブルの一連のバックアップを、バックアップセットと呼ばれるオブジェクト内にカプセル化できます。オプションで、バックアップセットにバックアップポリシーを適用することで、自動バックアップのスケジュールと、有効期限後のバックアップの自動削除を制御できます。バックアップセットとバックアップポリシーはデータベースレベルのオブジェクトです。Snowflakeは、これらのオブジェクトと、それらを含むデータベースおよびスキーマを複製します。

Snowflakeがバックアップセットとバックアップポリシーを複製する方法については、 バックアップ関連オブジェクトを複製する をご参照ください。

ユーザーの複製

この機能は、ターゲットアカウントへのユーザーとそのプロパティの複製、次のユーザー認証方法、また SCIM を使用したユーザーとグループのプロビジョニングをサポートします。

認証方法

ターゲットアカウントで動作

注意

パスワード

✔

MFA のパスワード(多要素認証)

✔

ソースアカウントの MFA に登録されているユーザーは、各ターゲットアカウントにログインする際、MFA に個別に登録する必要があります。

多要素認証(MFA)

✔

ソースアカウントの MFA に登録されているユーザーは、各ターゲットアカウントにログインする際、MFA に個別に登録する必要があります。

Key-pair authentication

✔

プログラムによるアクセストークン

✔

ユーザーとロールが複製される場合にのみ、プログラムによるアクセストークンがターゲットアカウントに複製されます。

フェデレーション認証

✔

フェデレーション SSO (つまり、 SAML2)セキュリティ統合の複製の詳細については、 複数のアカウントにわたるセキュリティ統合とネットワークポリシーの複製 をご参照ください。

Snowflake OAuth

✔

OAuth セキュリティ統合の複製の詳細については、 複数のアカウントにわたるセキュリティ統合とネットワークポリシーの複製 をご参照ください。

外部 OAuth

✔

OAuth セキュリティ統合の複製の詳細については、 複数のアカウントにわたるセキュリティ統合とネットワークポリシーの複製 をご参照ください。

SCIM

✔

SCIM セキュリティ統合の複製の詳細については、 複数のアカウントにわたるセキュリティ統合とネットワークポリシーの複製 をご参照ください。

注釈

USERS および ROLES オブジェクトがターゲットアカウントに複製される場合、これらのオブジェクト型はターゲットアカウントで読み取り専用であり、変更できません。ユーザーとロールは、ソースアカウント内で作成してから、各ターゲットアカウントに複製する必要があります。複製と読み取り専用のセカンダリオブジェクト をご参照ください。

ウェアハウスの複製

この機能は、インタラクティブなウェアハウスを含む、ウェアハウスの複製をサポートしています。Snowflakeは、ウェアハウスでロールに付与された権限も置き換えます(:code:`roles`が複製される場合)。プライマリウェアハウスの状態は複製されません。ウェアハウスは一時停止状態で各ターゲットアカウントに複製され、ターゲットアカウントで再開できます。

Workspaces replication

共有ワークスペース は、複製グループまたはフェールオーバーグループの一部であるデータベースに含まれている場合に複製されます。プライベートワークスペースは、その所有するユーザーが複製されるときに複製されます。セカンダリ(ターゲット)アカウントでは、複製されたコンテンツは読み取り専用です。ワークスペースファイル( SQL ファイル、ノートブックファイルなどを含む)は実行可能ですが、編集できません。

データセットの複製

アカウントの複製はデータセットの複製をサポートします。データセットは、Snowflake MLで使用する実体化されたデータオブジェクトです。使用情報については、 Snowflake Datasets をご覧ください。複製は、データセット複製機能の一般公開以降に作成されたデータセットでサポートされます。リリースのアナウンスについては、 2025年3月20日: Snowflake Datasets(一般提供) をご覧ください。

Cortex Search Serviceの複製

この機能は、Cortex Search Serviceの複製をサポートします。

詳細については、 Cortex Search Serviceの複製 をご参照ください。

ロールと付与の複製

オブジェクトの付与をロールに複製するには、ロールをソースアカウントからターゲットアカウントに複製する必要があります。複製またはフェールオーバーグループでロールを複製するには、 object_types リストに roles を含める必要があります。ロールは、権限が付与されているデータオブジェクトとは別の複製グループまたはフェールオーバーグループに含めることができます。

roles が複製されると、次の場合に 限り、オブジェクトに対する付与はターゲットアカウントに複製されます。

  • 権限が、オブジェクトの所有者によって、またはオブジェクトの所有者により WITH GRANT OPTION パラメーターを使用して権限を付与されたロールで間接的に付与された。

  • 権限付与の被付与者と付与者の両方のロールが、ターゲットアカウントにある。

  • オブジェクトが複製されます(つまり、オブジェクト型が object_types リストに含まれます)。

上記以外の場合は、オブジェクトに対する付与は複製されません。

セカンダリロールとセッションポリシーの複製については、 セカンダリロールを持つセッションポリシー を参照してください。

注釈

  • ターゲットアカウントのアクティブなパイプに対する OWNERSHIP 権限を持つロールがドロップされた場合は、更新操作に失敗します。

  • 複製グループおよびフェールオーバーグループの権限は複製 されません。REPLICATE または FAILOVER 権限が複製グループまたはフェールオーバーグループに付与されている場合、これらの権限はソース および ターゲットアカウントの両方で付与する必要があります。これらの権限の詳細については、 複製権限 をご参照ください。

データベースオブジェクトの付与

roles と databases がターゲットアカウント(同じ、または異なる複製、またはフェールオーバーグループ内)に複製される場合は、セカンダリデータベースを更新すると、データベースとデータベース内のオブジェクト(スキーマ、テーブル、ビューなど)の権限付与が、ターゲットアカウントの既存のロール(つまり、ターゲットアカウントに複製されたロール)と同期されます。データベース複製でサポートされているオブジェクトに対する権限付与のみが同期されることに注意してください。サポートされるオブジェクトのリストについては、 複製されたデータベースオブジェクト をご参照ください。

外部テーブルの複製は現在サポートされていません。その結果、外部テーブルに対する権限の付与も複製されません。

オブジェクトに対する将来の付与

ロールがターゲットアカウントに複製される場合は、データベースまたはスキーマレベルで付与される 将来の付与 がターゲットアカウントに複製されます。これには、複製でサポートされていないオブジェクトに対する将来の付与も含まれます。たとえば、外部テーブルの複製はまだサポートされていないものの、外部テーブルに対する将来の付与は複製されます。ターゲットアカウントで外部テーブルを作成すると、将来の外部テーブルで付与される権限は意図したとおりに具体化されます。

オブジェクトの作成と所有権

ソースアカウントからの更新中にターゲットアカウントに新しいオブジェクトが作成され、ロールがターゲットアカウントに複製されない場合は、新しいオブジェクトの OWNERSHIP 権限が GLOBALORGADMIN ロールに付与されます。

ロールがターゲットアカウントに複製されると、 OWNERSHIP 権限は、ロールが次に複製されるときに、ソースアカウントの OWNERSHIP 権限を持つロールと同じターゲットアカウントのロールに付与されます。オブジェクトとロールが同じ複製(またはフェールオーバー)グループにあると、ターゲットアカウントで新しいオブジェクトが作成されると同時にロールが複製される場合があります。

共有に対する付与

セキュアデータ共有を有効にするために、 roles がターゲットアカウントに複製されていない場合でも、共有へのオブジェクトに対する付与は複製されます。このセクションでは、共有へのオブジェクトに対する付与がどのように複製されるかについての情報を提供します。

roles がソースアカウントからターゲットアカウントに複製されると、共有上のオブジェクトへの付与は次の場合に複製されます。

  • 付与者のロールがターゲットアカウントに存在する または

  • ソースアカウントの付与者ロールには、プライマリオブジェクトに対する OWNERSHIP 権限がある。

roles がソースアカウントからターゲットアカウントに複製されないと、次のようになります。

  • 共有へのオブジェクトに対する付与が複製される。

  • 複製されたオブジェクトを共有に付与するための付与者のロールは、オブジェクトに対する OWNERSHIP 権限を持つロールです。

ターゲットアカウントのオブジェクトをリフレッシュするユーザー

ALTER FAILOVER GROUP ... REFRESH コマンドを実行して、ソースアカウントからターゲットアカウントのオブジェクトを更新するユーザーは、フェールオーバーグループに対して REPLICATE 権限を持つロールを使用する必要があります。Snowflakeは、次のシナリオで失敗することにより、ターゲットアカウントでこのユーザーを保護します。

  • ユーザーがソースアカウントに存在しない場合は、更新操作に失敗します。

  • ユーザーがソースアカウントに存在するが、REPLICATE 権限を持つロールがユーザーに付与されていない場合は、更新操作に失敗します。

複製スケジュール

ベストプラクティスとして、Snowflakeは、 REPLICATION_SCHEDULE パラメーターを使用して自動更新をスケジュールすることをお勧めします。スケジュールは、 CREATE <オブジェクト> を使用して、新しい複製またはフェールオーバーグループを作成するときか、後で(ALTER <オブジェクト> を使用して)定義できます。

セカンダリ複製グループまたはフェールオーバーグループを作成すると、Snowflakeは自動的に初期リフレッシュを実行します。次回の更新は、前回の更新が開始された日時とスケジュール間隔、またはcron式に基づいた次の有効時間に基づいてスケジュールされます。たとえば、更新スケジュール間隔が10分で、前回の更新操作(スケジュールされた更新または手動でトリガーされた更新)が12:01に開始される場合、次の更新は12:11にスケジュールされます。

Snowflakeは、一度に1回の更新のみが実行されるようにします。次回の更新がスケジュールされているときに更新がまだ実行中の場合、現在実行中の更新が完了後に次回の更新が遅れて開始されます。たとえば、更新が毎時正時15分後に実行されるようにスケジュールされており、前の更新が12:16に完了する場合、次の更新は、前に実行中の更新完了後に実行がスケジュールされます。

注釈

自動的にスケジュールされたリフレッシュ操作は、複製グループまたはフェールオーバーグループのOWNERSHIP権限を持つロールを使用して実行されます。権限不足のためにスケジュールされたリフレッシュ操作が失敗した場合は、そのグループのOWNERSHIP権限を持つロールに必要な権限を付与します。

スケジュールされた複製を一時停止および再開する

更新の実行中は、セカンダリフェールオーバーグループをプライマリグループに昇格させることはできません。正常にフェールオーバーするには、ターゲットアカウントでスケジュールされた複製を一時停止します。フェールオーバーの完了後に、スケジュールされた複製を再開します。詳細については、 ALTER FAILOVER GROUP をご参照ください。

下位エディションのアカウントへの複製

次のいずれかの条件に該当する場合、Snowflakeはステートメントの実行時にエラーメッセージを表示します。

  • データベースのみおよび/または共有オブジェクトがあるプライマリ複製グループはBusiness Critical(またはそれ以上)のアカウントにあるが、複製を承認された1つ以上のアカウントは下位エディションにある。Business Critical Editionは、非常に機密性の高いデータを有するSnowflakeアカウントを対象としています。

  • 任意の オブジェクトタイプ があるプライマリ複製またはフェールオーバーグループがBusiness Critical(またはそれ以上)のアカウントにあり、 HIPAA および HITRUST CSF 規制に従ってアカウントに PHI データを格納するための署名済みビジネスアソシエイト契約が整っている。しかし、Business Critical(またはそれ以上)のアカウントであるかどうかにかかわりなく、複製が有効化された1つ以上のアカウントに対してはそのような契約がない。

この動作は、Business Critical(またはそれ以上)のアカウントの管理者が機密データを下位エディションのアカウントに誤って複製することを防ぐために実装されています。

アカウント管理者(ACCOUNTADMIN ロールを持つユーザー)または CREATE REPLICATION GROUP/CREATE FAILOVER GROUP または OWNERSHIP 権限のあるロールを持つユーザーは、 CREATE <オブジェクト> または ALTER <オブジェクト> ステートメントの実行時に IGNORE EDITION CHECK 句を含めることで、このデフォルトの動作を上書きできます。IGNORE EDITION CHECK が設定されている場合、プライマリ複製またフェールオーバーグループは、これらの特定のシナリオでSnowflakeの下位エディション上の指定されたアカウントに複製できます。

注釈

フェールオーバーグループは、Business Critical Edition(またはそれ以上)のアカウントでのみ作成できます。したがって、フェールオーバーグループは、Business Critical Edition(またはそれ以上)のアカウントに のみ 複製できます。

複製の現在の制限

  • 共有から作成されたデータベースは複製できません。

  • サポートされていないソースオブジェクトを含むストリームがプライマリデータベースに含まれている場合は、リフレッシュ操作に失敗します。いずれかのストリームのソースオブジェクトがドロップされている場合も、操作に失敗します。

  • 複製されたソースオブジェクトでは、追加のみのストリームはサポートされていません。

注釈

レプリケーションを実行するロールとは別のロールがグラフを所有している場合、データベースのレプリケーションはタスクグラフでは機能しません。