Compartilhar via


Microsoft.Sql Servers/elasticPools 2023-02-01-preview

Definição de recurso do Bicep

O tipo de recurso servers/elasticPools pode ser implantado com operações de destino:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Sql/servers/elasticPools, adicione o Bicep a seguir ao seu modelo.

resource symbolicname 'Microsoft.Sql/servers/elasticPools@2023-02-01-preview' = {
  parent: resourceSymbolicName
  location: 'string'
  name: 'string'
  properties: {
    availabilityZone: 'string'
    highAvailabilityReplicaCount: int
    licenseType: 'string'
    maintenanceConfigurationId: 'string'
    maxSizeBytes: int
    minCapacity: int
    perDatabaseSettings: {
      maxCapacity: int
      minCapacity: int
    }
    preferredEnclaveType: 'string'
    zoneRedundant: bool
  }
  sku: {
    capacity: int
    family: 'string'
    name: 'string'
    size: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Valores de propriedade

Microsoft.Sql/servers/elasticPools

Name Description Value
local Local do recurso. cadeia de caracteres (obrigatório)
name O nome do recurso cadeia de caracteres (obrigatório)
pai No Bicep, você pode especificar o recurso pai para um recurso filho. Você só precisa adicionar essa propriedade quando o recurso filho é declarado fora do recurso pai.

Para obter mais informações, consulte recurso filho fora do recurso pai.
Nome simbólico para o recurso do tipo: servidores
properties Propriedades do recurso. ElasticPoolProperties
sku O SKU do pool elástico.

A lista de SKUs pode variar de acordo com a região e a oferta de suporte. Para determinar os SKUs (incluindo o nome do SKU, camada/edição, família e capacidade) que estão disponíveis para sua assinatura em uma região do Azure, use a API REST Capabilities_ListByLocation ou o seguinte comando:

```azurecli
az sql elastic-pool list-editions -l <local> -o tabela
````
Sku
tags Etiquetas de recursos Dicionário de nomes e valores de tags. Consulte Marcas em modelos

ElasticPoolPerDatabaseSettings

Name Description Value
maxCapacity A capacidade máxima que qualquer banco de dados pode consumir. int
minCapacity A capacidade mínima de todos os bancos de dados é garantida. int

ElasticPoolProperties

Name Description Value
availabilityZone Especifica a zona de disponibilidade à qual a réplica primária do pool está fixada. '1'
'2'
'3'
'NoPreference'
highAvailabilityReplicaCount O número de réplicas secundárias associadas ao pool elástico que são usadas para fornecer alta disponibilidade. Aplicável somente a pools elásticos de Hiperescala. int
licenseType O tipo de licença a ser aplicado a esse pool elástico. 'BasePrice'
'LicenseIncluded'
maintenanceConfigurationId ID de configuração de manutenção atribuída ao pool elástico. Essa configuração define o período em que as atualizações de manutenção ocorrerão. cadeia
maxSizeBytes O limite de armazenamento do pool elástico do banco de dados em bytes. int
minCapacity Capacidade mínima que o pool sem servidor não reduzirá abaixo, se não estiver em pausa int
perDatabaseSettings As configurações por banco de dados para o pool elástico. ElasticPoolPerDatabaseSettings
preferredEnclaveType Tipo de enclave solicitado no pool elástico. 'Default'
'VBS'
zoneRedundant Se esse pool elástico é ou não redundante por zona, o que significa que as réplicas desse pool elástico serão distribuídas entre várias zonas de disponibilidade. bool

Sku

Name Description Value
capacidade Capacidade da SKU específica. int
family Se o serviço tiver diferentes gerações de hardware, para a mesma SKU, isso poderá ser capturado aqui. cadeia
name O nome da SKU, normalmente, uma letra + código de número, por exemplo, P3. cadeia de caracteres (obrigatório)
size Tamanho da SKU específica cadeia
nível A camada ou edição da SKU específica, por exemplo, Basic, Premium. cadeia

TrackedResourceTags

Name Description Value

Definição de recurso de modelo do ARM

O tipo de recurso servers/elasticPools pode ser implantado com operações de destino:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Sql/servers/elasticPools, adicione o JSON a seguir ao modelo.

{
  "type": "Microsoft.Sql/servers/elasticPools",
  "apiVersion": "2023-02-01-preview",
  "name": "string",
  "location": "string",
  "properties": {
    "availabilityZone": "string",
    "highAvailabilityReplicaCount": "int",
    "licenseType": "string",
    "maintenanceConfigurationId": "string",
    "maxSizeBytes": "int",
    "minCapacity": "int",
    "perDatabaseSettings": {
      "maxCapacity": "int",
      "minCapacity": "int"
    },
    "preferredEnclaveType": "string",
    "zoneRedundant": "bool"
  },
  "sku": {
    "capacity": "int",
    "family": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valores de propriedade

Microsoft.Sql/servers/elasticPools

Name Description Value
apiVersion A versão da API '2023-02-01-preview'
local Local do recurso. cadeia de caracteres (obrigatório)
name O nome do recurso cadeia de caracteres (obrigatório)
properties Propriedades do recurso. ElasticPoolProperties
sku O SKU do pool elástico.

A lista de SKUs pode variar de acordo com a região e a oferta de suporte. Para determinar os SKUs (incluindo o nome do SKU, camada/edição, família e capacidade) que estão disponíveis para sua assinatura em uma região do Azure, use a API REST Capabilities_ListByLocation ou o seguinte comando:

```azurecli
az sql elastic-pool list-editions -l <local> -o tabela
````
Sku
tags Etiquetas de recursos Dicionário de nomes e valores de tags. Consulte Marcas em modelos
tipo O tipo de recurso 'Microsoft.Sql/servers/elasticPools'

ElasticPoolPerDatabaseSettings

Name Description Value
maxCapacity A capacidade máxima que qualquer banco de dados pode consumir. int
minCapacity A capacidade mínima de todos os bancos de dados é garantida. int

ElasticPoolProperties

Name Description Value
availabilityZone Especifica a zona de disponibilidade à qual a réplica primária do pool está fixada. '1'
'2'
'3'
'NoPreference'
highAvailabilityReplicaCount O número de réplicas secundárias associadas ao pool elástico que são usadas para fornecer alta disponibilidade. Aplicável somente a pools elásticos de Hiperescala. int
licenseType O tipo de licença a ser aplicado a esse pool elástico. 'BasePrice'
'LicenseIncluded'
maintenanceConfigurationId ID de configuração de manutenção atribuída ao pool elástico. Essa configuração define o período em que as atualizações de manutenção ocorrerão. cadeia
maxSizeBytes O limite de armazenamento do pool elástico do banco de dados em bytes. int
minCapacity Capacidade mínima que o pool sem servidor não reduzirá abaixo, se não estiver em pausa int
perDatabaseSettings As configurações por banco de dados para o pool elástico. ElasticPoolPerDatabaseSettings
preferredEnclaveType Tipo de enclave solicitado no pool elástico. 'Default'
'VBS'
zoneRedundant Se esse pool elástico é ou não redundante por zona, o que significa que as réplicas desse pool elástico serão distribuídas entre várias zonas de disponibilidade. bool

Sku

Name Description Value
capacidade Capacidade da SKU específica. int
family Se o serviço tiver diferentes gerações de hardware, para a mesma SKU, isso poderá ser capturado aqui. cadeia
name O nome da SKU, normalmente, uma letra + código de número, por exemplo, P3. cadeia de caracteres (obrigatório)
size Tamanho da SKU específica cadeia
nível A camada ou edição da SKU específica, por exemplo, Basic, Premium. cadeia

TrackedResourceTags

Name Description Value

Exemplos de uso

Modelos de Início Rápido do Azure

Os modelos de Início Rápido do Azure a seguir implantar esse tipo de recurso.

Template Description
implantar um novo pool elástico do SQL

Implantar no Azure
Esse modelo permite implantar um novo Pool Elástico do SQL com seu novo SQL Server associado e novos Bancos de Dados SQL a serem atribuídos a ele.

Definição de recurso do Terraform (provedor de AzAPI)

O tipo de recurso servers/elasticPools pode ser implantado com operações de destino:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Sql/servers/elasticPools, adicione o Terraform a seguir ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/elasticPools@2023-02-01-preview"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      availabilityZone = "string"
      highAvailabilityReplicaCount = int
      licenseType = "string"
      maintenanceConfigurationId = "string"
      maxSizeBytes = int
      minCapacity = int
      perDatabaseSettings = {
        maxCapacity = int
        minCapacity = int
      }
      preferredEnclaveType = "string"
      zoneRedundant = bool
    }
    sku = {
      capacity = int
      family = "string"
      name = "string"
      size = "string"
      tier = "string"
    }
  }
}

Valores de propriedade

Microsoft.Sql/servers/elasticPools

Name Description Value
local Local do recurso. cadeia de caracteres (obrigatório)
name O nome do recurso cadeia de caracteres (obrigatório)
parent_id A ID do recurso que é o pai desse recurso. ID do recurso do tipo: servidores
properties Propriedades do recurso. ElasticPoolProperties
sku O SKU do pool elástico.

A lista de SKUs pode variar de acordo com a região e a oferta de suporte. Para determinar os SKUs (incluindo o nome do SKU, camada/edição, família e capacidade) que estão disponíveis para sua assinatura em uma região do Azure, use a API REST Capabilities_ListByLocation ou o seguinte comando:

```azurecli
az sql elastic-pool list-editions -l <local> -o tabela
````
Sku
tags Etiquetas de recursos Dicionário de nomes e valores de tags.
tipo O tipo de recurso "Microsoft.Sql/servers/elasticPools@2023-02-01-preview"

ElasticPoolPerDatabaseSettings

Name Description Value
maxCapacity A capacidade máxima que qualquer banco de dados pode consumir. int
minCapacity A capacidade mínima de todos os bancos de dados é garantida. int

ElasticPoolProperties

Name Description Value
availabilityZone Especifica a zona de disponibilidade à qual a réplica primária do pool está fixada. '1'
'2'
'3'
'NoPreference'
highAvailabilityReplicaCount O número de réplicas secundárias associadas ao pool elástico que são usadas para fornecer alta disponibilidade. Aplicável somente a pools elásticos de Hiperescala. int
licenseType O tipo de licença a ser aplicado a esse pool elástico. 'BasePrice'
'LicenseIncluded'
maintenanceConfigurationId ID de configuração de manutenção atribuída ao pool elástico. Essa configuração define o período em que as atualizações de manutenção ocorrerão. cadeia
maxSizeBytes O limite de armazenamento do pool elástico do banco de dados em bytes. int
minCapacity Capacidade mínima que o pool sem servidor não reduzirá abaixo, se não estiver em pausa int
perDatabaseSettings As configurações por banco de dados para o pool elástico. ElasticPoolPerDatabaseSettings
preferredEnclaveType Tipo de enclave solicitado no pool elástico. 'Default'
'VBS'
zoneRedundant Se esse pool elástico é ou não redundante por zona, o que significa que as réplicas desse pool elástico serão distribuídas entre várias zonas de disponibilidade. bool

Sku

Name Description Value
capacidade Capacidade da SKU específica. int
family Se o serviço tiver diferentes gerações de hardware, para a mesma SKU, isso poderá ser capturado aqui. cadeia
name O nome da SKU, normalmente, uma letra + código de número, por exemplo, P3. cadeia de caracteres (obrigatório)
size Tamanho da SKU específica cadeia
nível A camada ou edição da SKU específica, por exemplo, Basic, Premium. cadeia

TrackedResourceTags

Name Description Value

Exemplos de uso

Exemplos do Terraform

Um exemplo básico de implantação do Pool Elástico de SQL do Azure.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
    azurerm = {
      source = "hashicorp/azurerm"
    }
  }
}

provider "azurerm" {
  features {
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

variable "administrator_login_password" {
  type        = string
  description = "The administrator login password for the SQL server"
  sensitive   = true
}

data "azurerm_client_config" "current" {
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "server" {
  type      = "Microsoft.Sql/servers@2021-02-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      administratorLogin            = "4dm1n157r470r"
      administratorLoginPassword    = var.administrator_login_password
      minimalTlsVersion             = "1.2"
      publicNetworkAccess           = "Enabled"
      restrictOutboundNetworkAccess = "Disabled"
      version                       = "12.0"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_resource_id" "publicMaintenanceConfiguration" {
  type      = "Microsoft.Maintenance/publicMaintenanceConfigurations@2023-04-01"
  parent_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}"
  name      = "SQL_Default"
}

resource "azapi_resource" "elasticPool" {
  type      = "Microsoft.Sql/servers/elasticPools@2020-11-01-preview"
  parent_id = azapi_resource.server.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      maintenanceConfigurationId = data.azapi_resource_id.publicMaintenanceConfiguration.id
      maxSizeBytes               = 5.24288e+09
      perDatabaseSettings = {
        maxCapacity = 5
        minCapacity = 0
      }
      zoneRedundant = false
    }
    sku = {
      capacity = 50
      family   = ""
      name     = "BasicPool"
      tier     = "Basic"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Um exemplo básico de implantação do Pool Elástico de SQL do Azure.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
    azurerm = {
      source = "hashicorp/azurerm"
    }
  }
}

provider "azurerm" {
  features {
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

variable "administrator_login_password" {
  type        = string
  description = "The administrator login password for the SQL server"
  sensitive   = true
}

data "azurerm_client_config" "current" {
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "server" {
  type      = "Microsoft.Sql/servers@2021-02-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      administratorLogin            = "4dm1n157r470r"
      administratorLoginPassword    = var.administrator_login_password
      minimalTlsVersion             = "1.2"
      publicNetworkAccess           = "Enabled"
      restrictOutboundNetworkAccess = "Disabled"
      version                       = "12.0"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_resource_id" "publicMaintenanceConfiguration" {
  type      = "Microsoft.Maintenance/publicMaintenanceConfigurations@2023-04-01"
  parent_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}"
  name      = "SQL_Default"
}

resource "azapi_resource" "elasticPool" {
  type      = "Microsoft.Sql/servers/elasticPools@2020-11-01-preview"
  parent_id = azapi_resource.server.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      maintenanceConfigurationId = data.azapi_resource_id.publicMaintenanceConfiguration.id
      maxSizeBytes               = 5.24288e+09
      perDatabaseSettings = {
        maxCapacity = 5
        minCapacity = 0
      }
      zoneRedundant = false
    }
    sku = {
      capacity = 50
      family   = ""
      name     = "BasicPool"
      tier     = "Basic"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}