使用 Terraform 将 Azure SQL 恢复到时间点?

restore Azure SQL to poin-in-time using Terraform?

我在测试和 QA 环境中有一个 Azure SQL 数据库,我们经常需要从预生产环境的时间点备份中恢复它。

是否可以使用 Terraform 使流程自动化?

谢谢

您可以使用 Create mode = PointInTimeRestore 然后指定 creation_source_database_id 这是参考数据库资源 ID & restore_point_in_time 这将是源数据库的 ISO8601 格式的时间点将恢复以创建新数据库。

根据基本要求,azurerm_mssql_database 块将如下所示,您可以根据需要使用其他参数修改它:

resource "azurerm_mssql_database" "sql_db" {
  name                        = var.name
  server_id                   = var.server_id
  collation                   = var.collation
  license_type                = "BasePrice"
  max_size_gb                 = var.max_size_gb
  read_scale                  = var.read_scale
  sku_name                    = var.sku_name
  zone_redundant              = var.zone_redundant
  auto_pause_delay_in_minutes = var.auto_pause_delay_in_minutes
  create_mode                 = "PointInTimeRestore"
  creation_source_database_id = var.creation_source_database_id
  min_capacity                = var.min_capacity
  restore_point_in_time       = "2021-12-06T01:57:37Z"
}

参考:

Terraform Registry