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

Terraform配置Azure SQL Server报错:azurerm_sql_server资源未声明求助

问题排查与解决

错误根源

你定义的SQL Server资源类型是azurerm_mssql_server,但防火墙规则配置里引用的是azurerm_sql_server.sqlserver1251.name——两者的资源类型前缀不匹配,导致Terraform无法找到对应的已声明资源,从而抛出错误。

修复方案

修改防火墙规则中的server_name字段,将资源类型前缀修正为和你定义的SQL Server一致的azurerm_mssql_server:

### Creates Azure SQL server firewall rule
resource "azurerm_sql_firewall_rule" "sql_server" {
  for_each = var.sql_server_firewall_rules

  name                = each.key
  resource_group_name = azurerm_resource_group.template_grp.name
  server_name         = azurerm_mssql_server.sqlserver1251.name # 修正资源类型前缀
  start_ip_address    = each.value.start_ip_address
  end_ip_address      = each.value.end_ip_address
}

额外检查点

  • 确保SQL Server配置文件与防火墙规则配置文件在同一个根模块下;如果分属不同模块,需通过模块输出值引用,而非直接使用资源地址。
  • 确认azurerm_resource_group.template_grp资源已正确声明,避免后续出现资源组不存在的关联错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 02:15:13