A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.snowflake.com/sql-reference/sql/create-failover-group below:

Website Navigation


CREATE FAILOVER GROUP | Snowflake Documentation

CREATE FAILOVER GROUP

Creates a new failover group of specified objects in the system.

For more information about using failover groups, see Introduction to replication and failover across multiple accounts.

This command can be used to:

See also:

ALTER FAILOVER GROUP , DROP FAILOVER GROUP , SHOW FAILOVER GROUPS

Syntax
CREATE FAILOVER GROUP [ IF NOT EXISTS ] <name>
    OBJECT_TYPES = <object_type> [ , <object_type> , ... ]
    [ ALLOWED_DATABASES = <db_name> [ , <db_name> , ... ] ]
    [ ALLOWED_SHARES = <share_name> [ , <share_name> , ... ] ]
    [ ALLOWED_INTEGRATION_TYPES = <integration_type_name> [ , <integration_type_name> , ... ] ]
    ALLOWED_ACCOUNTS = <org_name>.<target_account_name> [ , <org_name>.<target_account_name> ,  ... ]
    [ IGNORE EDITION CHECK ]
    [ REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]
    [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
    [ ERROR_INTEGRATION = <integration_name> ]

Copy

Secondary Failover Group

CREATE FAILOVER GROUP [ IF NOT EXISTS ] <secondary_name>
    AS REPLICA OF <org_name>.<source_account_name>.<name>

Copy

Parameters
name

Specifies the identifier for the failover group. The identifier must start with an alphabetic character and cannot contain spaces or special characters unless the identifier string is enclosed in double quotes (for example, "My object"). Identifiers enclosed in double quotes are also case-sensitive.

For more details, see Identifier requirements.

OBJECT_TYPES = object_type [ , object_type , ... ]

Type(s) of objects for which you are enabling replication and failover from the source account to the target account.

The following object types are supported:

ACCOUNT PARAMETERS:

All account-level parameters. This includes account parameters and parameters that can be set for your account.

DATABASES:

Add database objects to the list of object types. If database objects are included in the list of specified object types, the ALLOWED_DATABASES parameter must be set.

INTEGRATIONS:

Currently, only security, API, storage, external access, and certain types of notification integrations are supported. For details, see Integration replication.

If integration objects are included in the list of specified object types, the ALLOWED_INTEGRATION_TYPES parameter must be set.

NETWORK POLICIES:

All network policies in the source account.

RESOURCE MONITORS:

All resource monitors in the source account.

ROLES:

All roles in the source account. Replicating roles implicitly includes all grants for object types included in the replication group. For example, if ROLES is the only object type that is replicated, then only hierarchies of roles (that is, roles granted to other roles) are replicated to target accounts. If the USERS object type is also included, then role grants to users are also replicated.

SHARES:

Add share objects to the list of object types. If share objects are included in the list of specified object types, the ALLOWED_SHARES parameter must be set.

USERS:

All users in the source account.

WAREHOUSES:

All warehouses in the source account.

Note

If you replicate users and roles, programmatic access tokens for users are replicated automatically.

To modify the list of replicated object types to a specified target account, use ALTER FAILOVER GROUP to reset the list of object types.

ALLOWED_DATABASES = db_name [ , db_name , ... ]

Specifies the database or list of databases for which you are enabling replication and failover from the source account to the target account. In order for you to set this parameter, the OBJECT_TYPES list must include DATABASES.

db_name

Specifies the identifier for the database.

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. In order for you to set this parameter, the OBJECT_TYPES list must include SHARES.

share_name

Specifies the identifier for the share.

ALLOWED_INTEGRATION_TYPES = integration_type_name [ , integration_type_name , ... ]

Type(s) of integrations for which you are enabling replication and failover from the source account to the target account.

This property requires that the OBJECT_TYPES list include INTEGRATIONS to set this parameter.

The following integration types are supported:

ALLOWED_ACCOUNTS = org_name.target_account_name [ , org_name.target_account_name , ... ]

Specifies the target account or list of target accounts to which replication and failover of specified objects from the source account is enabled. Secondary failover groups in the target accounts in this list can be promoted to serve as the primary failover group in case of failover.

org_name

Name of your Snowflake organization.

target_account_name

Target account to which you are enabling replication of the specified objects.

IGNORE EDITION CHECK

Allows replicating objects to accounts in the following scenario:

The primary failover group is in a Business Critical (or higher) account and a signed business associate agreement is in place to store PHI data in the account per HIPAA and HITRUST regulations. However, no such agreement is in place for one or more of the accounts approved for replication, regardless if they are Business Critical (or higher) accounts.

This scenario is prohibited by default.

REPLICATION_SCHEDULE ...

Specifies the schedule for refreshing secondary failover groups.

TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )

Specifies the tag name and the tag string value.

The tag value is always a string, and the maximum number of characters for the tag value is 256.

For information about specifying tags in a statement, see Tag quota for objects.

ERROR_INTEGRATION = integration_name

Specifies the name of the notification integration to use to send notifications when refresh errors occur for the failover group. For more details, see Error notifications for replication and failover groups.

Secondary Failover Group Parameters

secondary_name

Specifies the identifier for the secondary failover group. The identifier must start with an alphabetic character and cannot contain spaces or special characters unless the identifier string is enclosed in double quotes (for example, "My object"). Identifiers enclosed in double quotes are also case-sensitive. For more details, see Identifier requirements.

The identifiers for the secondary failover group (secondary_name) and primary failover group (name) can be, but are not required to be, identical.

AS REPLICA OF org_name.source_account_name.name

Specifies the identifier of the primary failover group from which to create a secondary failover group.

org_name

Name of your Snowflake organization.

source_account_name

Source account from which you are enabling replication and failover of the specified objects.

name

Identifier for the primary failover group in the source account.

Access control requirements

A role used to execute this operation must have the following privileges at a minimum:

Privilege

Object

Notes

CREATE FAILOVER GROUP

Account

Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed.

MONITOR

Database

To add a database to a failover group, the active role must have the MONITOR privilege on the database.

OWNERSHIP

Share

To add a share to a failover group, the active role must have the OWNERSHIP privilege on the share.

For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.

For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.

Usage notes Examples Create a failover group to enable replication and failover for a database

Executed on source account

Create a failover group named myfg to enable replication and failover of database db1 from the source account to the target account myaccount2. Set the replication schedule for myfg to refresh the database every 10 minutes:

CREATE FAILOVER GROUP myfg
    OBJECT_TYPES = DATABASES
    ALLOWED_DATABASES = db1
    ALLOWED_ACCOUNTS = myorg.myaccount2
    REPLICATION_SCHEDULE = '10 MINUTE';

Copy

Executed on target account

Create a failover group in the target account as a replica of the failover group myfg in the source account:

CREATE FAILOVER GROUP myfg
    AS REPLICA OF myorg.myaccount1.myfg;

Copy

Create a failover group to enable replication and failover for multiple databases

Executed on source account

Create a failover group named myfg in the source account to enable replication and failover of databases db1, db2, db2 from the source to the myaccount2 account. Set the replication schedule for myfg to refresh the databases every 10 minutes:

CREATE FAILOVER GROUP myfg
    OBJECT_TYPES = DATABASES
    ALLOWED_DATABASES = db1, db2, db3
    ALLOWED_ACCOUNTS = myorg.myaccount2
    REPLICATION_SCHEDULE = '10 MINUTE';

Copy

Executed on target account

Create a failover group in the target account as a replica of the failover group myfg in the source account:

CREATE FAILOVER GROUP myfg
    AS REPLICA OF myorg.myaccount1.myfg;

Copy

Create a failover group to enable replication and failover for account objects

Executed on source account

Create a failover group named myfg in the source account to enable replication and failover of users, roles, warehouses, resource monitors, storage integrations, and notification integrations from the source account to the myaccount2 account:

CREATE FAILOVER GROUP myfg
    OBJECT_TYPES = USERS, ROLES, WAREHOUSES, RESOURCE MONITORS, INTEGRATIONS
    ALLOWED_INTEGRATION_TYPES = STORAGE INTEGRATIONS, NOTIFICATION INTEGRATIONS
    ALLOWED_ACCOUNTS = myorg.myaccount2
    REPLICATION_SCHEDULE = '10 MINUTE';

Copy

Executed on target account

Create a failover group in the target account as a replica of the failover group myfg in the source account:

CREATE FAILOVER GROUP myfg
    AS REPLICA OF myorg.myaccount1.myfg;

Copy

Create a failover group to enable replication and failover for security integrations and network policies

For more information and examples for replicating security integrations and network policies, see Replication of security integrations & network policies across multiple accounts.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4