Search code examples
azureterraformazure-sql-databaseazure-rm

Do I need azurerm_mssql_server for azurerm_mssql_database?


Currently I create my Azure SQL database like this:

resource "azurerm_mssql_server" "sqlserver" {
  name                         = azurecaf_name.names.results["azurerm_mssql_server"]
  resource_group_name          = azurerm_resource_group.default_rg.name
  location                     = azurerm_resource_group.default_rg.location
  version                      = "12.0"
  administrator_login          = var.mssql_admin_user
  administrator_login_password = var.mssql_admin_password
}

resource "azurerm_mssql_database" "sqldatabase" {
  name           = azurecaf_name.names.results["azurerm_mssql_database"]
  server_id      = azurerm_mssql_server.sqlserver.id
  sku_name       = "Basic"
}

So I create a server and then a database - do I always need the server or is it somehow possible to directly create a database without creating a server first? Current way feels a little bit strange to me.


Solution

  • Yes, for your mssql db instance a mssql server id is always required:

    server_id - (Required) The id of the MS SQL Server on which to create the database. Changing this forces a new resource to be created.