以提供商身份为列表使用 BCDR

提供商的主要责任

要为使用者保持这种无缝体验,提供商必须确保:

  • 故障转移组配置:所有列表、共享内容和链接数据库都必须属于单个故障转移组。

  • 数据完整性:您必须定期刷新故障转移组,以确保辅助账户是主账户的忠实副本。

  • 运营连续性:如果发生灾难,当您将辅助账户提升为主账户时,Snowflake 会自动管理 自动履行 管道的重定向。提供商必须刷新原始主节点(如果可用)中的故障转移组,才能为该区域的使用者提供服务。

备注

“每个区域一个挂载点”这一约束条件仍然严格生效。这样可以防止数据碎片化,并确保使用者始终有一条清晰、单一的路径访问数据列表。

为列表及其依赖项配置故障转移组

本部分介绍如何为列表配置故障转移组,以便在中断期间更好地保护列表及其依赖项。

访问控制要求

要查看对系统中的组对象执行复制和故障转移所需的角色,请参阅 复制权限

第 1 步:在列表上创建故障转移组

要创建包含列表的新故障转移组,请使用 CREATE FAILOVER GROUP。要将列表添加到现有故障转移组,请使用 ALTER FAILOVER GROUP

备注

将列表添加到故障转移组时,必须在列表中包含依赖项。如果列表包含不属于故障转移组的依赖项(例如悬空引用),则 Snowflake 会在创建或更改流程中返回错误。

将共享内容添加到列表是可选的。Snowflake 会自动选择所有符合条件的列表及其共享,以进行复制和故障转移。

以下示例使用 CREATE FAILOVER GROUP 为数据库和列表创建新的故障转移组。在此示例中,故障转移组命名为 provider_dr_fg。故障转移组中的对象类型包括名为 provider_dr_db 的数据库,以及名为 myorg.myaccount2 的允许账户。

CREATE FAILOVER GROUP provider_dr_fg
  OBJECT_TYPES = DATABASES, LISTINGS
  ALLOWED_DATABASES = provider_dr_db
  ALLOWED_ACCOUNTS = myorg.myaccount2;

第 2 步:创建辅助故障转移组

要在允许账户上创建初始故障转移组的副本,请运行以下命令:

CREATE FAILOVER GROUP provider_dr_fg
  AS REPLICA OF myorg.myaccount1.provider_dr_fg;
ALTER FAILOVER GROUP provider_dr_fg REFRESH;

第 3 步:验证辅助故障转移组

  1. 要验证列表是否已解析,请运行 SHOW LISTINGS IN FAILOVER GROUP 命令,然后运行 SHOW LISTINGS 命令。

    SHOW LISTINGS IN FAILOVER GROUP provider_dr_fg;
    SHOW LISTINGS LIKE 'provider_dr_listing_2';
    
  2. 要确认所有共享都与辅助账户中的列表正确关联,请运行 SHOW SHARES 查询。

    响应将包括 listing_global_name 字段中的非 NULL 值。

    SHOW SHARES LIKE 'provider_dr_listing_share';
    

    备注

    listing_global_name 字段中的 NULL 值表示将共享内容添加到辅助账户中的列表时出现的问题。查看故障转移组配置,或联系 Snowflake 团队寻求帮助。

故障转移后提供商的限制

  • 列表分析数据共享使用情况 中的信息仅适用于最初创建列表的账户中的列表。故障转移账户中可能不提供此信息。