ALTER FAILOVER GROUP¶
既存の フェールオーバーグループ のプロパティを変更します。
ソースアカウントから、次のアクションを実行できます。
フェールオーバーグループの名前を変更する。
複製とフェールオーバーが有効になっている指定されたオブジェクト型のリストをリセットする。
セカンダリフェールオーバーグループの自動更新の複製スケジュールを設定または更新する。
次の型のアカウントオブジェクトをフェールオーバーグループに追加、またはフェールオーバーグループから削除する。
データベース
External volumes
共有
セキュリティの統合
API 統合
ストレージの統合
外部アクセス統合
特定の種類の通知統合(統合複製 をご参照ください)
複製とフェールオーバーが有効になっているターゲットアカウントを追加または削除する。
共有またはデータベースを別のフェールオーバーグループに移動する。
ターゲットアカウントから、次のアクションを実行できます。
ソースアカウントからターゲットアカウントのオブジェクトを更新する。
セカンダリフェールオーバーグループをプライマリに昇格します(つまり、オブジェクトのフェールオーバーグループをフェールオーバーします)。
スケジュールされた複製を一時停止する。
スケジュールされた複製を再開する。
- こちらもご参照ください。
CREATE FAILOVER GROUP , DROP FAILOVER GROUP , SHOW FAILOVER GROUPS, SYSTEM$SCHEDULE_ASYNC_REPLICATION_GROUP_REFRESH
構文¶
ソースアカウント
ALTER FAILOVER GROUP [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
[ OBJECT_TYPES = <object_type> [ , <object_type> , ... ] ]
[ ALLOWED_DATABASES = <db_name> [ , <db_name> , ... ] ]
[ ALLOWED_EXTERNAL_VOLUMES = <external_volume_name> [ , <external_volume_name> , ... ] ]
[ ALLOWED_SHARES = <share_name> [ , <share_name> , ... ] ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
OBJECT_TYPES = INTEGRATIONS [ , <object_type> , ... ]
ALLOWED_INTEGRATION_TYPES = <integration_type_name> [ , <integration_type_name> ... ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
COMMENT = '<string_literal>'
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }'
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
ERROR_INTEGRATION = <integration_name>
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name> UNSET
{ COMMENT | REPLICATION_SCHEDULE | ERROR_INTEGRATION } [ , ... ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name> UNSET
TAG <tag_name> [ , <tag_name> ... ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
ADD <db_name> [ , <db_name> , ... ] TO ALLOWED_DATABASES
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
MOVE DATABASES <db_name> [ , <db_name> , ... ] TO FAILOVER GROUP <move_to_fg_name>
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
REMOVE <db_name> [ , <db_name> , ... ] FROM ALLOWED_DATABASES
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
ADD <external_volume_name> [ , <external_volume_name> , ... ] TO ALLOWED_EXTERNAL_VOLUMES
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
MOVE EXTERNAL VOLUMES <external_volume_name> [ , <external_volume_name> , ... ] TO FAILOVER GROUP <move_to_fg_name>
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
REMOVE <external_volume_name> [ , <external_volume_name> , ... ] FROM ALLOWED_EXTERNAL_VOLUMES
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
ADD <share_name> [ , <share_name> , ... ] TO ALLOWED_SHARES
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
MOVE SHARES <share_name> [ , <share_name> , ... ] TO FAILOVER GROUP <move_to_fg_name>
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
REMOVE <share_name> [ , <share_name> , ... ] FROM ALLOWED_SHARES
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
ADD <org_name>.<target_account_name> [ , <org_name>.<target_account_name> , ... ] TO ALLOWED_ACCOUNTS
[ IGNORE EDITION CHECK ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
REMOVE <org_name>.<target_account_name> [ , <org_name>.<target_account_name> , ... ] FROM ALLOWED_ACCOUNTS
ターゲットアカウント
ALTER FAILOVER GROUP [ IF EXISTS ] <name> REFRESH
ALTER FAILOVER GROUP [ IF EXISTS ] <name> PRIMARY
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SUSPEND [ IMMEDIATE ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name> RESUME
パラメーター¶
ソースアカウント
nameフェールオーバーグループの識別子を指定します。
RENAME TO new_namenew_nameフェールオーバーグループの新しい識別子を指定します。識別子が別の複製またはフェールオーバーにすでに配置されている場合、新しい識別子は使用できません。
詳細については、 識別子の要件 をご参照ください。
SET ...フェールオーバーグループに設定するプロパティを指定します(空白、コンマ、または改行で区切り)。
OBJECT_TYPES = object_type [ , object_type , ... ]ソースアカウントからターゲットアカウントへの複製とフェールオーバーを有効にしているオブジェクト型のリストをリセットします。
注釈
For database, external volume, and share objects:
If DATABASES, EXTERNAL VOLUMES, or SHARES are included in the OBJECT_TYPES list, and remain in the OBJECT_TYPES list after the list is reset, the respective allowed objects list (ALLOWED_DATABASES, ALLOWED_EXTERNAL_VOLUMES, or ALLOWED_SHARES) remains unchanged.
DATABASES を追加または削除するために OBJECT_TYPES リストがリセットされると、 ALLOWED_DATABASES リストは NULL に設定されます。
If the OBJECT_TYPES list is reset to add or remove EXTERNAL VOLUMES, the ALLOWED_EXTERNAL_VOLUMES list is set to NULL.
SHARES を追加または削除するために OBJECT_TYPES リストがリセットされると、 ALLOWED_SHARES リストは NULL に設定されます。
Use the ADD, MOVE, and REMOVE clauses to modify the list of allowed database, external volume, or share objects.
次のオブジェクト型がサポートされています。
- ACCOUNT PARAMETERS:
すべてのアカウントレベルのパラメーター。これには、 アカウントパラメーター と、 アカウントに設定 できるパラメーターが含まれます。
- DATABASES:
データベースオブジェクトをオブジェクト型のリストに追加します。指定されたオブジェクト型のリストにデータベースオブジェクトがすでに含まれている場合は、
ALLOWED_DATABASESリストは変更なしのままになります。データベースのリストを変更するには、 ADD、 MOVE、または REMOVE 句を使用します。- EXTERNAL VOLUMES:
Add external volume objects to the list of object types. If external volume objects are included in the list of specified object types, the
ALLOWED_EXTERNAL_VOLUMESparameter must be set. To modify the list of external volumes, use the ADD, MOVE, or REMOVE clauses.- INTEGRATIONS:
現在、セキュリティ、 API、ストレージ、外部アクセス、特定のタイプの通知統合のみがサポートされています。詳細については、 統合複製 をご参照ください。
指定されたオブジェクト型のリストに統合オブジェクトが含まれている場合は、
ALLOWED_INTEGRATION_TYPESパラメーターを設定する必要があります。- NETWORK POLICIES:
ソースアカウントのすべてのネットワークポリシー。
- RESOURCE MONITORS:
ソースアカウントのすべてのリソースモニター。
- ROLES:
ソースアカウントのすべてのロール。ロールの複製には、フェールオーバーグループに含まれるオブジェクトタイプのすべての付与が暗黙的に含まれます。例えば、
ROLESが複製される唯一のオブジェクトタイプである場合、ロールの階層(つまり、他のロールに付与されたロール)のみがターゲットアカウントに複製されます。USERSオブジェクト型も含まれている場合は、ユーザーへのロールの付与も複製されます。- SHARES:
オブジェクト型のリストに共有オブジェクトを追加します。指定されたオブジェクト型のリストに共有オブジェクトがすでに含まれている場合は、
ALLOWED_SHARESリストは変更なしのままになります。共有のリストを変更するには、 ADD、 MOVE、または REMOVE 句を使用します。- USERS:
ソースアカウントのすべてのユーザー。
- WAREHOUSES:
ソースアカウントのすべてのウェアハウス。
注釈
ユーザーとロールを複製すると、ユーザーのプログラムのアクセストークンも自動的に複製されます。
ALLOWED_DATABASES = db_name [ , db_name , ... ]ソースアカウントからターゲットアカウントへの複製とフェールオーバーを有効にしているデータベースまたはデータベースのリストを指定します。このパラメーターを設定するには、
OBJECT_TYPESリストにDATABASESを含める必要があります。db_nameデータベースの識別子を指定します。
ALLOWED_EXTERNAL_VOLUMES = external_volume_name [ , external_volume_name , ... ]-
Specifies the external volume or list of external volumes for which you are enabling replication and failover from the source account to the target account. For you to set this parameter, the
OBJECT_TYPESlist must includeEXTERNAL VOLUMES.external_volume_nameSpecifies the identifier for the external volume.
ALLOWED_SHARES = share_name [ , share_name , ... ]Specifies the share or list of shares for which you are enabling replication and failover from the source account to the target account. For you to set this parameter, the
OBJECT_TYPESlist must includeSHARES.share_name共有の識別子を指定します。
注釈
If the ALLOWED_DATABASES, ALLOWED_EXTERNAL_VOLUMES, or ALLOWED_SHARES lists are modified, any objects that were previously in the list and removed will be dropped in any target account with a linked secondary failover group when the next refresh operation occurs.
ALLOWED_INTEGRATION_TYPES = integration_type_name [ , integration_type_name , ... ]ソースアカウントからターゲットアカウントへの複製とフェールオーバーを有効にしている統合の型。
このプロパティには、このパラメーターを設定するために、
OBJECT_TYPESリストにINTEGRATIONSを含める必要があります。次の統合型がサポートされています。
- SECURITY INTEGRATIONS:
セキュリティ統合を指定します。
このプロパティには、
OBJECT_TYPESリストにROLESを含める必要があります。- API INTEGRATIONS:
API 統合を指定します。
API 統合複製では、 API 統合がターゲットアカウントに複製された後で追加のセットアップが必要です。詳細については、 API 統合のリモートサービスの更新 をご参照ください。
- STORAGE INTEGRATIONS:
ストレージ統合を指定します。
- EXTERNAL ACCESS INTEGRATIONS:
外部アクセス統合 を指定します。
詳細については、 ストアドプロシージャとユーザー定義関数の複製(UDFs) をご参照ください。
- NOTIFICATION INTEGRATIONS:
通知統合を指定します。
一部の型の通知統合のみが複製されます。詳細については、 統合複製 をご参照ください。
COMMENT = 'string_literal'フェールオーバーグループにコメントを追加するか、既存のコメントを上書きします。
- デフォルト:
NULL
REPLICATION_SCHEDULE ...セカンダリフェールオーバーグループを更新するスケジュールを指定します。
USING CRON expr time_zoneセカンダリグループの更新のcron式とタイムゾーンを指定します。標準のcronユーティリティ構文のサブセットをサポートします。
タイムゾーンのリストについては、 tzデータベースタイムゾーンのリスト (Wikipedia)をご参照ください。
cron式は、次のフィールドで構成されます。
# __________ minute (0-59) # | ________ hour (0-23) # | | ______ day of month (1-31, or L) # | | | ____ month (1-12, JAN-DEC) # | | | | __ day of week (0-6, SUN-SAT, or L) # | | | | | # | | | | | * * * * *
次の特殊文字がサポートされています。
*ワイルドカード。フィールドのオカレンスを指定します。
L「最後」の略。曜日フィールドで使用すると、特定の月の「最後の金曜日」(「5L」)などの構造を指定できます。月の日フィールドでは、月の最後の日を指定します。
/n特定の時間単位の nth インスタンスを示します。時間の各クォンタムは独立して計算されます。たとえば、月フィールドに
4/3が指定されている場合、更新は4月、7月、および10月にスケジュールされます(つまり、年の4番目の月から始まる3か月ごと)。その後も同じスケジュールが維持されます。つまり、更新は1月(10月の実行から3か月後)に実行されるようにスケジュールされては いません。
注釈
cron式は現在、指定されたタイムゾーンに対してのみ評価します。アカウントの TIMEZONE パラメーター値を変更(またはユーザーレベルまたはセッションレベルで値を設定)しても、更新のタイムゾーンは変更 されません。
cron式は、更新のすべての 有効な 実行時間を定義します。Snowflakeは、このスケジュールに基づいてセカンダリグループを更新しようとします。ただし、次の有効な実行時間が始まる前に前の実行が完了していない場合、有効な実行時間はスキップされます。
cron式に特定の月の日と曜日の両方が含まれている場合、更新は月の日または曜日の いずれか を満たす日にスケジュールされます。たとえば、
SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC'は、月の10日から20日、およびそれらの日付以外の火曜日または木曜日の 0AM に更新をスケジュールします。
num MINUTE更新間の待機時間の間隔(分単位)を指定します。正の整数のみを受け入れます。
num M構文もサポートしています。あいまいさを避けるために、次の場合には 基本間隔時間 が設定されます。
オブジェクトの作成時(CREATE <オブジェクト> を使用) または
異なる間隔が設定されている場合(ALTER <オブジェクト> ... SET REPLICATION_SCHEDULE を使用)
基本間隔は、現在のクロックタイムから間隔カウンターを開始します。たとえば、
10の INTERVAL 値が設定され、スケジュールされた更新が9:03 AM で有効になっている場合、更新は9:13 AM、9:23 AM というように実行されます。絶対精度を確保するために最善を尽くしますが、保証されるのは、設定間隔が発生する 前に 更新が実行されないようにすることのみです(たとえば、現在の例では、更新は最初に9:14 AM に実行されることはあっても、9:12 AM に実行されることは決してありません)。注釈
サポートされる最大値は
11520(8日間)です。複製スケジュールのnum MINUTE値が大きい場合、更新操作は実行されません。
- デフォルト:
NULL
ERROR_INTEGRATION = integration_nameフェールオーバーグループのリフレッシュエラー発生時にメール/プッシュ通知に使用する通知統合の名前を指定します。詳細については、 複製グループとフェールオーバーグループのエラー通知 をご参照ください。
ADD db_name [ , db_name , ... ] TO ALLOWED_DATABASES複製とフェールオーバーを有効にする追加データベースのコンマ区切りリストを指定します。データベースを追加するには、指定されたオブジェクト型のリストに DATABASES を含める必要があります。オブジェクト型のリストにまだ DATABASES が含まれていない場合は、追加する必要があります。
db_nameデータベースの識別子を指定します。
MOVE DATABASES db_name [ , db_name , ... ] TO FAILOVER GROUP move_to_fg_nameあるフェールオーバーグループから別のフェールオーバーグループに移動するデータベースのコンマ区切りリストを指定します。データベースの移動先のフェールオーバーグループには、指定されたオブジェクト型のリストに DATABASES を含める必要があります。
db_nameデータベースの識別子を指定します。
move_to_fg_nameデータベースの移動先のフェールオーバーグループに対する識別子を指定します。
REMOVE db_name [ , db_name , ... ] FROM ALLOWED_DATABASES複製とフェールオーバーが有効になっているデータベースのリストから、削除するデータベースのコンマ区切りリストを指定します。
注釈
プライマリフェールオーバーグループからデータベースを削除すると、次のリフレッシュ操作が発生したときに、リンクされたセカンダリフェールオーバーグループを持つすべてのターゲットアカウントでデータベースがドロップされます。
ターゲットアカウントでデータベースのドロップを回避するには、変更されたプライマリフェールオーバーグループが次回ターゲットアカウントに複製される 前 に、セカンダリフェールオーバーグループをドロップします。セカンダリフェールオーバーグループをドロップすると、グループに含まれていた読み取り専用のセカンダリデータベースは、ターゲットアカウントのスタンドアロン読み取り/書き込みデータベースになります。
ADD external_volume_name [ , external_volume_name , ... ] TO ALLOWED_EXTERNAL_VOLUMESSpecifies a comma-separated list of additional external volumes to enable for replication and failover. To add external volumes, EXTERNAL VOLUMES must be included in the list of specified object types. If the list of object types does not already include EXTERNAL VOLUMES, you must add it.
external_volume_nameSpecifies the identifier for the external volume.
MOVE EXTERNAL VOLUMES external_volume_name [ , external_volume_name , ... ] TO FAILOVER GROUP move_to_fg_nameSpecifies a comma-separated list of external volumes to move from one failover group to another failover group. The failover group the external volumes are being moved to must include EXTERNAL VOLUMES in the list of specified object types.
db_nameSpecifies the identifier for the external volume.
move_to_fg_nameSpecifies the identifier for the failover group the external volumes are being moved to.
REMOVE external_volume_name [ , external_volume_name , ... ] FROM ALLOWED_EXTERNAL_VOLUMESSpecifies a comma-separated list of external volumes to remove from the list of external volumes enabled for replication and failover.
注釈
When you remove an external volume from a primary failover group, the external volume is dropped in any target account with a linked secondary failover group when the next refresh operation occurs.
To avoid dropping external volumes in the target account, you can drop the secondary failover group before the next time the modified primary failover group is replicated to the target account. When you drop the secondary failover group, read-only secondary external volumes that were included in the group become standalone read-write external volumes in the target account.
ADD share_name [ , share_name , ... ] TO ALLOWED_SHARESSpecifies a comma-separated list of additional shares to enable for replication and failover. To add shares, SHARES must be included in the list of specified object types. If the list of object types doesn't already include SHARES, you must add it.
share_name共有の識別子を指定します。
MOVE SHARES share_name [ , share_name , ... ] TO FAILOVER GROUP move_to_fg_nameあるフェールオーバーグループから別のフェールオーバーグループに移動する共有のコンマ区切りリストを指定します。共有の移動先のフェールオーバーグループには、指定されたオブジェクト型のリストに SHARES を含める必要があります。
share_name共有の識別子を指定します。
move_to_fg_name共有の移動先のフェールオーバーグループに対する識別子を指定します。
REMOVE share_name [ , share_name , ... ] FROM ALLOWED_SHARES複製とフェールオーバーが有効になっている共有のリストから、削除する共有のコンマ区切りリストを指定します。
注釈
プライマリフェールオーバーグループから共有を削除すると、次のリフレッシュ操作が発生したときに、セカンダリフェールオーバーグループを持つすべてのターゲットアカウントでその共有がドロップされます。
ADD org_name.target_account_name [ , org_name.target_account_name , ... ] TO ALLOWED_ACCOUNTSプライマリフェールオーバーグループに追加するターゲットアカウントのコンマ区切りリストを指定して、ソースアカウント内にある指定されたオブジェクトのターゲットアカウントへの複製とフェールオーバーを有効にします。このリストにあるターゲットアカウントのセカンダリフェールオーバーグループは、フェールオーバーの場合にプライマリフェールオーバーグループとして機能するように昇格できます。
org_nameSnowflake組織の名前。
target_account_name指定されたオブジェクトの複製を有効にするターゲットアカウント。
REMOVE org_name.target_account_name [ , org_name.target_account_name , ... ] FROM ALLOWED_ACCOUNTSプライマリフェールオーバーグループから削除するターゲットアカウントのコンマ区切りリストを指定して、ソースアカウント内にある指定されたオブジェクトのターゲットアカウントへの複製を無効にします。ターゲットアカウントを削除すると、現在のアカウントからこのターゲットアカウントへのフェールオーバーが無効になります。
org_nameSnowflake組織の名前。
target_account_name指定されたオブジェクトの複製を無効にするターゲットアカウント。
IGNORE EDITION CHECK次のシナリオにおいて、オブジェクトのアカウントへの複製を許可します。
プライマリフェールオーバーグループがBusiness Critical(またはそれ以上)のアカウントにあり、 HIPAA および HITRUST 規制に従ってアカウントに PHI データを格納するための署名済みビジネスアソシエイト契約が整っている。しかし、Business Critical(またはそれ以上)のアカウントであるかどうかにかかわりなく、複製が承認された1つ以上のアカウントに対してはそのような契約がない。
このシナリオはデフォルトで禁止されています。
ターゲットアカウント
nameフェールオーバーグループの識別子を指定します。
REFRESHソースアカウントからターゲット(現在の)アカウントのオブジェクトを更新します。
PRIMARYターゲット(現在の)アカウント内のセカンダリフェールオーバーグループとその指定されたオブジェクトをプライマリに昇格します(フェールオーバーの場合)。
SUSPEND [ IMMEDIATE ]セカンダリフェールオーバーグループのスケジュールされた更新を一時停止します(プライマリフェールオーバーグループが、
REPLICATION_SCHEDULEプロパティを使用してスケジュールされた更新を行っている場合)。オプションの
IMMEDIATEキーワードは、セカンダリフェールオーバーグループ(存在する場合)に対して現在進行中のスケジュールされたリフレッシュ処理をキャンセルします。ステートメントが返す時間と、リフレッシュ操作のキャンセルが終了する時間との間に、若干の遅れが生じる可能性があることに注意してください。RESUMEセカンダリフェールオーバーグループのスケジュールされた更新を再開します(プライマリフェールオーバーグループが、
REPLICATION_SCHEDULEプロパティを使用してスケジュールされた更新を行っている場合)。UNSET ...フェールオーバーグループに対して設定を解除するプロパティを1つ(または複数)指定します。これにより、それらのプロパティがデフォルト値にリセットされます。
COMMENTREPLICATION_SCHEDULEERROR_INTEGRATIONTAG tag_name [ , tag_name ... ]
単一の ALTER ステートメントで複数のプロパティをリセットできます。ただし、各プロパティはカンマで区切る 必要があります。また、プロパティをリセットする場合は、名前のみを指定し、値は必要ありません。
使用上の注意¶
次の最小限の権限が必要です。
ALTER FAILOVER GROUP ... REFRESH を使用してセカンダリフェールオーバーグループを更新するには、アクティブなプライマリロールに、フェールオーバーグループに対する OWNERSHIP または REPLICATE 権限のいずれかが必要です。
ALTER FAILOVER GROUP ... PRIMARY を使用してセカンダリフェールオーバーグループをフェールオーバーするには、フェールオーバーグループに対する OWNERSHIP または FAILOVER 権限のいずれかがロールに必要です。
フェールオーバーグループにその他の変更を加える、この SQL コマンドを実行できるのは、グループに対して OWNERSHIP 権限のあるロールのみです。
データベースをフェールオーバーグループに追加するには、データベースに対する MONITOR 権限がアクティブなロールに必要です。
To add an external volume to a replication group, the active role must have the USAGE privilege on the external volume.
フェールオーバーグループに共有を追加するには、共有に対する OWNERSHIP 権限がアクティブなロールに必要です。
アカウント内のフェールオーバーグループと複製グループの識別子は一意にする必要があります。
Objects other than databases, external volumes, and shares must be in the same failover group.
データベースは、1つのフェールオーバーグループにのみ追加できます。
An external volume can only be added to one failover group.
インバウンド共有 (プロバイダーからの共有)は、複製グループまたはフェールオーバーグループに追加 できません。
更新が進行中の場合は、セカンダリフェールオーバーグループのプライマリへの昇格(フェールオーバーの場合)に失敗します。
複製スケジュールの更新時に更新が進行中の場合、更新は完了するまで続行され、次の更新で新しいスケジュールが使用されます。
フェールオーバー時に、すべてのセカンダリフェールオーバーグループでスケジュールされた更新が一時停止されます。自動更新を再開するには、各セカンダリで
ALTER FAILOVER GROUP ... RESUMEを実行する必要があります。To move databases, external volumes, or shares from one failover group (the move-from group) to another failover group (the move-to group):
両方のグループを同じ型の FAILOVER GROUP にする必要があります。
If the last database in the move-from group is moved to another group, the
allowed_databasesproperty for the move-from group is set to NULL. The same behavior applies to shares and external volumes.If the move-to group doesn't have the object type that is being moved (
databases,external volumes, orshares) in theobject_typeslist, it must be explicitly added to the move-to group before you move the objects.
If database, external volume, or share objects are removed from a primary failover group (by using the REMOVE parameter or SET parameter to modify the ALLOWED_DATABASES, ALLOWED_EXTERNAL_VOLUMES, or ALLOWED_SHARES lists), those objects are dropped in any target account when the next refresh operation occurs.
ターゲットアカウントでこれらのオブジェクトのドロップを回避するには、変更されたプライマリフェールオーバーグループが次回ターゲットアカウントに複製される 前 に、セカンダリフェールオーバーグループをドロップします。
複製が有効になっている組織内のアカウントのリストを取得するには、 SHOW REPLICATION ACCOUNTS コマンドを使用します。
組織内のフェールオーバーグループのリストを取得するには、 SHOW FAILOVER GROUPS を使用します。
自動的に スケジュールされたリフレッシュ操作 は、グループに対する OWNERSHIP 権限を持つロールを使用して実行されます。権限不足のためにスケジュールされたリフレッシュ操作が失敗した場合は、そのグループのOWNERSHIP権限を持つロールに必要な権限を付与します。
ALTER FAILOVER GROUP ... SUSPEND IMMEDIATE コマンドは、手動でトリガーされた場合、進行中のリフレッシュ操作をキャンセルしません。詳細については、 自動的にスケジュールされなかった、進行中のリフレッシュ操作をキャンセルします。 をご参照ください。
SECONDARY_DOWNLOADING_METADATA または SECONDARY_DOWNLOADING_DATA フェーズにある進行中のリフレッシュ操作をキャンセルすると、ターゲットアカウントの状態が一貫しなくなる可能性があります。詳細については、 進行中のリフレッシュ操作の現在のフェーズの表示 をご参照ください。
タグを使用して複製グループまたはフェールオーバーグループを作成した場合、またはタグをセットして複製グループまたはフェールオーバーグループを変更した場合、 タグ継承 は、複製グループまたはフェールオーバーグループで指定したオブジェクトには適用されません。
タグ継承は、データベース、スキーマ、テーブルなど、 親子関係 があるオブジェクトにのみ適用されます。複製グループやフェールオーバー・グループの子オブジェクトはありません。
これらのオブジェクトは読み取り専用であるため、セカンダリ・複製・グループまたはフェールオーバー・グループにタグを設定したり、タグを変更したりすることはできません。
セカンダリ複製グループまたはフェールオーバー・グループをリフレッシュすると、プライマリ・グループに設定されているすべてのタグがセカンダリ・グループに設定されます。
メタデータについて、
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
例¶
ソースアカウントから実行¶
ソースアカウントからの指定されたオブジェクトの複製とフェールオーバーが有効になっている、ターゲットアカウントのリストに myorg.myaccount3 を追加します。
ALTER FAILOVER GROUP myfg ADD myorg.myaccount3 TO ALLOWED_ACCOUNTS;
ソースアカウントで複製用のオブジェクト型リストをリセットし、データベース db1 を追加します。
ALTER FAILOVER GROUP myfg SET
OBJECT_TYPES = USERS, ROLES, WAREHOUSES, RESOURCE MONITORS, DATABASES
ALLOWED_DATABASES = db1;
データベース db2 と db3 をデータベースのリストに追加します。
ALTER FAILOVER GROUP myfg
ADD db2, db3 TO ALLOWED_DATABASES;
データベース db3 を別のフェールオーバーグループ myfg2 に移動します。
ALTER FAILOVER GROUP myfg
MOVE DATABASES db3 TO FAILOVER GROUP myfg2;
myfg のデータベース db2 を現在データベースがない別のフェールオーバーグループ myfg3 に移動します。
最初に
databasesをobject_typesに追加します。ALTER FAILOVER GROUP myfg3 SET OBJECT_TYPES = DATABASES, SHARES;
db2をmyfg3に移動します。ALTER FAILOVER GROUP myfg MOVE DATABASES db2 TO FAILOVER GROUP myfg3;
複製とフェールオーバーのために、ソースアカウントのデータベースのリストからすべてのデータベースを削除します。
ALTER FAILOVER GROUP myfg
SET ALLOWED_DATABASES = NULL;
注釈
上記のステートメントを実行すると、複製されるデータベースのリストからすべてのデータベースが削除されますが、複製とフェールオーバーのために指定されたオブジェクト型のリストからは、データベースオブジェクトは削除されません。
すべてのデータベースの複製とフェールオーバーを無効にし、指定されたオブジェクト型のリストからデータベースを削除するには次を行います。
ALTER FAILOVER GROUP myfg
REMOVE databases FROM OBJECT_TYPES;
自動的にスケジュールされた更新の間隔を追加(または変更)します。
ALTER FAILOVER GROUP myfg
SET REPLICATION_SCHEDULE = '15 MINUTE';
ターゲットアカウントから実行¶
ターゲットアカウントのフェールオーバーグループ myfg のオブジェクトを更新します。
ALTER FAILOVER GROUP myfg REFRESH;
現在のターゲットアカウントのセカンダリフェールオーバーグループをプライマリに昇格します。
ALTER FAILOVER GROUP myfg PRIMARY;
自動更新を一時停止します。
ALTER FAILOVER GROUP myfg SUSPEND;
