You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Terraform开启Snowflake数据库的复制功能

Terraform开启Snowflake数据库复制的实现方案

可以实现,目前chanzuckerberg Snowflake Provider没有原生的源数据库向外开启复制的专属配置项,你可以通过以下两种方式完成需求:

方案1:执行自定义ALTER语句(适配你的需求场景)

使用provider提供的snowflake_sql资源直接运行你需要的SQL命令即可,示例配置如下:

resource "snowflake_sql" "enable_db_replication" {
  statement = <<EOT
ALTER DATABASE ${var.var_database_name} ENABLE REPLICATION TO ACCOUNTS ${var.var_account_name};
EOT

  # 配置触发器,当数据库名或目标账户变更时自动重新执行语句
  triggers = {
    database_name   = var.var_database_name
    target_accounts = var.var_account_name
  }
}

注意:执行该配置的Snowflake角色需要持有对应数据库的OWNERSHIP权限,且目标账号需与源账号归属同一Snowflake组织,已完成跨账号访问的基础配置。

方案2:使用原生数据库资源配置复制副本(仅目标侧创建副本场景适用)

如果你是在目标账号侧创建源库的只读复制副本,可直接使用snowflake_database资源的replication_configuration参数完成配置,不需要手动执行SQL:

resource "snowflake_database" "replica_database" {
  name = "YOUR_REPLICA_DATABASE_NAME"

  replication_configuration {
    primary_database_identifier = "\"YOUR_ORG\".\"SOURCE_ACCOUNT\".\"SOURCE_DATABASE_NAME\""
    enable_failover              = true # 可选配置,是否开启副本故障切换能力
  }
}

内容的提问来源于stack exchange,提问作者rajesh gopalan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:21:00