ALTER FAILOVER GROUP

修改现有 故障转移组 的属性。

在源账户中,可以执行以下操作:

  • 为故障转移组重命名。

  • 重置为复制和故障转移启用的指定对象类型列表。

  • 设置或更新复制计划,以自动刷新辅助故障转移组。

  • 在故障转移组中添加或移除以下类型的账户对象:

    • 数据库

    • 外部卷

    • 共享

    • 安全集成

    • 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
Copy

目标账户

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
Copy

参数

源账户

name

指定故障转移组的标识符。

RENAME TO new_name
new_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.

  • 如果重置 OBJECT_TYPES 列表以添加或移除 DATABASES,则 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.

  • 如果重置 OBJECT_TYPES 列表以添加或移除 SHARES,则 ALLOWED_SHARES 列表将设置为 NULL。

  • Use the ADD, MOVE, and REMOVE clauses to modify the list of allowed database, external volume, or share objects.

支持以下对象类型:

ACCOUNT PARAMETERS:

所有账户级参数。这包括 :ref:` 账户参数 <label-account_parameters>` 和可以 :doc:` 为您的账户设置的 </user-guide/admin-account-management>` 参数。

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_VOLUMES parameter 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_TYPES list must include EXTERNAL VOLUMES.

external_volume_name

Specifies 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_TYPES list must include SHARES.

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:

指定 :doc:` 外部访问集成 </developer-guide/external-network-access/creating-using-external-network-access>`。

有关更多信息,请参阅 存储过程和用户定义函数 (UDFs) 的复制

NOTIFICATION INTEGRATIONS:

指定通知集成。

仅复制某些类型的通知集成。有关详细信息,请参阅 集成复制

COMMENT = 'string_literal'

为故障转移组添加注释或覆盖现有注释。

默认值:

NULL

REPLICATION_SCHEDULE ...

指定辅助故障转移组的刷新计划。

  • USING CRON expr time_zone

    指定辅助组刷新的 cron 表达式和时区。支持标准 cron 实用程序语法的子集。

    有关时区列表,请参阅 ` tz 数据库时区列表 <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones (link removed)>`_ (在维基百科中)。

    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

    代表“last”。在星期几字段中使用时,它允许您指定结构,例如给定月份的“最后一个星期五”(“5L”)。在日期字段中,它指定该月的最后一天。

    /n

    指示给定时间单位的第 n 个实例。每个时间量子都是独立计算的。例如,如果在月份字段中指定 4/3,则刷新计划为 4 月、7 月和 10 月(即每 3 个月一次,从一年中的第 4 个月开始)。在随后的几年中保持相同的计划。也就是说,刷新 不会 计划在 1 月(10 月运行后 3 个月)运行。

    备注

    • cron 表达式当前仅根据指定的时区进行计算。更改账户的 TIMEZONE 参数值(或在用户或会话级别设置该值) :emph:` 不会 ` 更改刷新的时区。

    • cron 表达式定义刷新的所有 有效 运行时间。Snowflake 尝试根据此计划刷新辅助组;但是,如果在下一个有效运行时间开始之前未完成上一次运行,则跳过任何有效运行时间。

    • 当 cron 表达式中同时包含一个月中的特定某一天和一周中的某一天时,刷新将安排在满足该月中的某一天 一周中的某一天的日期。例如,SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC' 计划在该月第 10 天到第 20 天之间的任何一天以及这些日期之外的星期二或星期四的 0AM 进行刷新。

  • num MINUTE

    指定刷新之间的等待时间间隔(以分钟为单位)。仅接受正整数。

    还支持 num M 语法。

    为了避免歧义,设置了 基本间隔时间

    • 创建对象时(使用 CREATE <object>) :emph:` 或 `

    • 当设置不同的间隔时(使用 ALTER <object> ...SET REPLICATION_SCHEDULE)

    基本间隔时间从当前时钟时间开始间隔计数器。例如,如果将 INTERVAL 值设置为 10,并且在 9:03 AM 启用计划刷新,则刷新将在 9:13 AM、9:23 AM 运行,以此类推。请注意,我们尽最大努力确保绝对精度,但仅保证刷新不会在设定的时间间隔发生 之前 执行(例如,在当前示例中,刷新可以首先在上午 9:14 AM 运行,但绝对不会在上午 9:12 AM 运行)。

    备注

    支持的最大值为 11520 (8 天)。如果复制计划具有更大的 num MINUTE 值,则刷新操作永远不会运行。

默认值:

NULL

ERROR_INTEGRATION = integration_name

指定故障转移组发生刷新错误时用于发送电子邮件/推送通知的通知集成的名称。有关更多详细信息,请参阅 复制组和故障转移组的错误通知

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

指定 标签 名称和标签字符串值。

标签值始终为字符串,标签值的最大字符数为 256。

有关在语句中指定标签的信息,请参阅 Tag quotas

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_VOLUMES

Specifies 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_name

Specifies the identifier for the external volume.

MOVE EXTERNAL VOLUMES external_volume_name [ , external_volume_name ,  ... ] TO FAILOVER GROUP move_to_fg_name

Specifies 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_name

Specifies the identifier for the external volume.

move_to_fg_name

Specifies the identifier for the failover group the external volumes are being moved to.

REMOVE external_volume_name [ , external_volume_name ,  ... ] FROM ALLOWED_EXTERNAL_VOLUMES

Specifies 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_SHARES

Specifies 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_name

Snowflake 组织的名称。

target_account_name

要对其启用指定对象复制的目标账户。

REMOVE org_name.target_account_name [ , org_name.target_account_name ,  ... ] FROM ALLOWED_ACCOUNTS

使用逗号分隔列表形式,指定要从主要故障转移组中移除的目标账户列表,以禁用将源账户中的指定对象复制到目标账户。移除目标账户将禁用从当前账户到该目标账户的故障转移。

org_name

Snowflake 组织的名称。

target_account_name

要对其禁用指定对象复制的目标账户。

IGNORE EDITION CHECK

允许在以下场景中将对象复制到账户:

主要故障转移组位于 Business Critical(或更高版本)账户中,并且已签署业务协作协议,可根据 HIPAA 和 HITRUST 法规在账户中存储 PHI 数据。但是,对于一个或多个已批准复制的账户,无论它们是否是 Business Critical(或更高版本)账户,都没有此类协议。

默认情况下禁止此类场景。

目标账户

name

指定故障转移组的标识符。

REFRESH

将对象从源账户刷新到目标(当前)账户中。

PRIMARY

将目标(当前)账户中的辅助故障转移组及其指定对象提升到主故障转移组(在发生故障转移的情况下)。

SUSPEND [ IMMEDIATE ]

暂停辅助故障转移组的计划刷新(如果主要故障转移组已使用 REPLICATION_SCHEDULE 属性设置了计划刷新)。

可选 IMMEDIATE 关键字取消当前正在为辅助故障转移组(如有)开展的计划刷新操作。请注意,在语句返回的时间与取消刷新操作完成的时间之间可能会有稍许延迟。

RESUME

恢复辅助故障转移组的计划刷新(如果主要故障转移组已使用 REPLICATION_SCHEDULE 属性设置了计划刷新)。

UNSET ...

为故障转移组指定一个(或多个)要取消设置的属性,从而将其重置为默认值:

  • COMMENT

  • REPLICATION_SCHEDULE

  • ERROR_INTEGRATION

  • TAG tag_name [ , tag_name ... ]

您可以使用单个 ALTER 语句重置多个属性;但是,每个属性 必须 用逗号分隔。此外,在重置属性时,仅指定名称;无需指定任何值。

使用说明

  • 需要以下最低权限:

    • 要使用以下语句刷新辅助故障转移组: ALTER FAILOVER GROUP ...REFRESH,活动的主角色必须具有故障转移组的 OWNERSHIP 或 REPLICATE 权限。

    • 要使用以下语句对辅助故障转移组进行故障转移: ALTER FAILOVER GROUP ...PRIMARY,角色必须具有故障转移组的 OWNERSHIP 或 FAILOVER 权限。

    • 要对故障转移组进行任何其他更改,只有具有该组的 OWNERSHIP 权限才能执行此 SQL 命令。

    • 要将数据库添加到故障转移组,活动角色必须具有 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.

  • 一个数据库只能添加到一个故障转移组。

  • An external volume can only be added to one failover group.

  • :doc:` 入站共享 </user-guide/data-share-consumers>` (来自提供商的共享) 不能 添加到复制组或故障转移组。

  • 如果正在执行刷新,将辅助故障转移组提升为主要故障转移组(在发生故障转移的情况下)会失败。

  • 如果在更新复制计划时正在执行刷新,则刷新将持续直至完成,并在下一次刷新时使用新的计划。

  • 故障转移时,所有辅助故障转移组上的计划刷新都会暂停。必须在每个辅助服务器上执行 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_databases property 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, or shares) in the object_types list, 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;
Copy

重置对象类型列表,以便在源账户中复制并添加 db1 数据库:

ALTER FAILOVER GROUP myfg SET
  OBJECT_TYPES = USERS, ROLES, WAREHOUSES, RESOURCE MONITORS, DATABASES
  ALLOWED_DATABASES = db1;
Copy

db2db3 数据库添加到数据库列表:

ALTER FAILOVER GROUP myfg
  ADD db2, db3 TO ALLOWED_DATABASES;
Copy

db3 数据库移动到另一个故障转移组 myfg2

ALTER FAILOVER GROUP myfg
  MOVE DATABASES db3 TO FAILOVER GROUP myfg2;
Copy

myfg 中的 db2 数据库移动到目前没有数据库的另一个故障转移组 myfg3

  1. 首先将 databases 添加到 object_types

    ALTER FAILOVER GROUP myfg3 SET
      OBJECT_TYPES = DATABASES, SHARES;
    
    Copy
  2. db2 移动到 myfg3

    ALTER FAILOVER GROUP myfg
      MOVE DATABASES db2 TO FAILOVER GROUP myfg3;
    
    Copy

从源账户的数据库列表中移除要进行复制和故障转移的所有数据库:

ALTER FAILOVER GROUP myfg
  SET ALLOWED_DATABASES = NULL;
Copy

备注

执行上述语句会从要复制的数据库列表中移除所有数据库,但不会从用于复制和故障转移的指定对象类型列表中移除数据库对象。

要禁用所有数据库的复制和故障转移,并从指定对象类型的列表中移除数据库,请执行以下操作:

ALTER FAILOVER GROUP myfg
  REMOVE databases FROM OBJECT_TYPES;
Copy

增加(或修改)自动计划刷新的间隔:

ALTER FAILOVER GROUP myfg
  SET REPLICATION_SCHEDULE = '15 MINUTE';
Copy

从目标账户执行

刷新目标账户中故障转移组 myfg 中的对象:

ALTER FAILOVER GROUP myfg REFRESH;
Copy

将当前目标账户中的辅助故障转移组提升为主故障转移组:

ALTER FAILOVER GROUP myfg PRIMARY;
Copy

暂停自动刷新:

ALTER FAILOVER GROUP myfg SUSPEND;
Copy
语言: 中文