Condividi tramite


Microsoft. Server/database SQL 2023-08-01

Definizione della risorsa Bicep

Il tipo di risorsa server/database può essere distribuito con operazioni destinate a:

  • gruppi di risorse - Vedere i comandi di distribuzione del gruppo di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare un Microsoft. Risorsa SQL/server/database, aggiungi il seguente Bicep al tuo template.

resource symbolicname 'Microsoft.Sql/servers/databases@2023-08-01' = {
  parent: resourceSymbolicName
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    autoPauseDelay: int
    availabilityZone: 'string'
    catalogCollation: 'string'
    collation: 'string'
    createMode: 'string'
    elasticPoolId: 'string'
    encryptionProtector: 'string'
    encryptionProtectorAutoRotation: bool
    federatedClientId: 'string'
    freeLimitExhaustionBehavior: 'string'
    highAvailabilityReplicaCount: int
    isLedgerOn: bool
    keys: {
      {customized property}: {}
    }
    licenseType: 'string'
    longTermRetentionBackupResourceId: 'string'
    maintenanceConfigurationId: 'string'
    manualCutover: bool
    maxSizeBytes: int
    minCapacity: int
    performCutover: bool
    preferredEnclaveType: 'string'
    readScale: 'string'
    recoverableDatabaseId: 'string'
    recoveryServicesRecoveryPointId: 'string'
    requestedBackupStorageRedundancy: 'string'
    restorableDroppedDatabaseId: 'string'
    restorePointInTime: 'string'
    sampleName: 'string'
    secondaryType: 'string'
    sourceDatabaseDeletionDate: 'string'
    sourceDatabaseId: 'string'
    sourceResourceId: 'string'
    useFreeLimit: bool
    zoneRedundant: bool
  }
  sku: {
    capacity: int
    family: 'string'
    name: 'string'
    size: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Valori delle proprietà

Microsoft. SQL/server/database

Name Description Value
identity L'identità di Azure Active Directory del database. DatabaseIdentity
location Percorso della risorsa. stringa (obbligatorio)
name Nome della risorsa stringa (obbligatorio)
parent In Bicep, puoi specificare la risorsa genitore per una risorsa figlia. È necessario aggiungere questa proprietà solo quando la risorsa figlio viene dichiarata all'esterno della risorsa padre.

Per altre informazioni, vedere risorsa figlio all'esterno della risorsa padre.
Nome simbolico per la risorsa di tipo: server
properties Proprietà delle risorse. DatabaseProperties
sku SKU del database.

L'elenco degli SKU può variare in base all'area geografica e all'offerta di supporto. Per determinare le SKU (inclusi il nome SKU, il livello/edizione, la famiglia e la capacità) disponibili per il tuo abbonamento in una regione Azure, usa l'API REST Capabilities_ListByLocation o uno dei seguenti comandi:

azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />````<br /><br />Powershell
Get-AzSqlServerServiceObjective -Location <percorso>
````
Sku
tags Tag delle risorse Dizionario di nomi e valori di tag. Vedere tag nei modelli

DatabaseIdentity

Name Description Value
type Tipo di identità 'None'
'UserAssigned'
userAssignedIdentities ID risorsa delle identità assegnate dall'utente da usare DatabaseIdentityUserAssignedIdentities

DatabaseIdentityUserAssignedIdentities

Name Description Value

DatabaseKey

Name Description Value

DatabaseProperties

Name Description Value
autoPauseDelay Tempo in minuti dopo il quale il database viene sospeso automaticamente. Un valore di -1 indica che la sospensione automatica è disabilitata int
availabilityZone Specifica la zona di disponibilità a cui viene aggiunto il database. '1'
'2'
'3'
'NoPreference'
catalogCollation Regole di confronto del catalogo di metadati. 'DATABASE_DEFAULT'
'SQL_Latin1_General_CP1_CI_AS'
collation Regole di confronto del database. string
createMode Specifica la modalità di creazione del database.

Impostazione predefinita: creazione regolare del database.

Copia: crea un database come copia di un database esistente. sourceDatabaseId deve essere specificato come ID risorsa del database di origine.

Secondario: crea un database come replica secondaria di un database esistente. sourceDatabaseId deve essere specificato come ID risorsa del database primario esistente.

PointInTimeRestore: crea un database ripristinando un backup temporizzato di un database esistente. sourceDatabaseId deve essere specificato come ID risorsa del database esistente e deve essere specificato restorePointInTime.

Ripristino: crea un database ripristinando un backup con replica geografica. sourceDatabaseId deve essere specificato come ID risorsa di database recuperabile da ripristinare.

Ripristino: crea un database ripristinando un backup di un database eliminato. sourceDatabaseId deve essere specificato. Se sourceDatabaseId è l'ID risorsa originale del database, è necessario specificare sourceDatabaseDeletionDate. In caso contrario, sourceDatabaseId deve essere l'ID risorsa del database eliminato ripristinabile e sourceDatabaseDeletionDate viene ignorato. è anche possibile specificare restorePointInTime per eseguire il ripristino da un punto precedente nel tempo.

RestoreLongTermRetentionBackup: crea un database ripristinando da un insieme di credenziali di conservazione a lungo termine. recoveryServicesRecoveryPointResourceId deve essere specificato come ID risorsa del punto di ripristino.

Copia, Secondario e RestoreLongTermRetentionBackup non sono supportati per l'edizione DataWarehouse.
'Copy'
'Default'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreExternalBackup'
'RestoreExternalBackupSecondary'
'RestoreLongTermRetentionBackup'
'Secondary'
elasticPoolId Identificatore della risorsa del pool elastico contenente il database. string
encryptionProtector URI dell'insieme di credenziali delle chiavi di Azure del database se è configurato con le chiavi gestite dal cliente del database. string
encryptionProtectorAutoRotation Flag per abilitare o disabilitare la rotazione automatica della chiave AKV della protezione di crittografia del database. bool
federatedClientId ID client usato per lo scenario cmk tra tenant per database string

Constraints:
Lunghezza minima = 36
Lunghezza massima = 36
Modello = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
freeLimitExhaustionBehavior Specifica il comportamento quando vengono esauriti i limiti gratuiti mensili per il database gratuito.

AutoPause: il database verrà sospeso automaticamente al termine dell'esaurimento dei limiti gratuiti per il resto del mese.

BillForUsage: il database continuerà a essere online al momento dell'esaurimento dei limiti gratuiti e verranno fatturate eventuali eccedenze.
'AutoPause'
'BillOverUsage'
highAvailabilityReplicaCount Numero di repliche secondarie associate al database business critical, Premium o Hyperscale edition che vengono usate per garantire la disponibilità elevata. Non applicabile a un database Hyperscale all'interno di un pool elastico. int
isLedgerOn Indipendentemente dal fatto che questo database sia un database libro mastro, ovvero tutte le tabelle del database sono tabelle libro mastro. Nota: il valore di questa proprietà non può essere modificato dopo la creazione del database. bool
keys ID risorsa delle identità assegnate dall'utente da usare DatabasePropertiesKeys
licenseType Tipo di licenza da applicare per questo database. LicenseIncluded se hai bisogno di una licenza, o BasePrice se hai una licenza e sei idoneo per la Vantaggio Azure Hybrid. 'BasePrice'
'LicenseIncluded'
longTermRetentionBackupResourceId Identificatore della risorsa del backup di conservazione a lungo termine associato all'operazione di creazione del database. string
maintenanceConfigurationId ID di configurazione della manutenzione assegnato al database. Questa configurazione definisce il periodo in cui verranno eseguiti gli aggiornamenti della manutenzione. string
manualCutover Indica se il cutover manuale controllato dal cliente deve essere eseguito durante l'operazione Aggiorna database al livello Hyperscale.

Questa proprietà è applicabile solo quando si ridimensiona il database dal livello Business Critical/Per utilizzo generico/Premium/Standard al livello Hyperscale.

Quando si specifica manualCutover, l'operazione di ridimensionamento attenderà l'input dell'utente per attivare il cutover nel database Hyperscale.

Per attivare il cutover, specificare il parametro 'performCutover' quando l'operazione di ridimensionamento è in stato In attesa.
bool
maxSizeBytes Dimensione massima del database espressa in byte. int
minCapacity Capacità minima allocata dal database, se non sospesa int
performCutover Per attivare il cutover manuale controllato dal cliente durante lo stato di attesa mentre è in corso l'operazione di ridimensionamento.

Questo parametro di proprietà è applicabile solo per le operazioni di ridimensionamento avviate insieme al parametro 'manualCutover'.

Questa proprietà è applicabile solo quando il database viene ridimensionato dal livello Business Critical/Per utilizzo generico/Premium/Standard al livello Hyperscale è già in corso.

Quando si specifica performCutover, l'operazione di ridimensionamento attiverà il cutover e eseguirà la modifica del ruolo nel database Hyperscale.
bool
preferredEnclaveType Tipo di enclave richiesto nel database, ad esempio enclave predefiniti o VBS. 'Default'
'VBS'
readScale Stato del routing di sola lettura. Se abilitate, le connessioni che hanno l'intention applicativa impostata su sola lettura nella loro stringa di connessione possono essere instradate verso una replica secondaria in sola lettura nella stessa regione. Non applicabile a un database Hyperscale all'interno di un pool elastico. 'Disabled'
'Enabled'
recoverableDatabaseId Identificatore della risorsa del database ripristinabile associato all'operazione di creazione del database. string
recoveryServicesRecoveryPointId Identificatore della risorsa del punto di ripristino associato all'operazione di creazione del database. string
requestedBackupStorageRedundancy Tipo di account di archiviazione da usare per archiviare i backup per questo database. 'Geo'
'GeoZone'
'Local'
'Zone'
restorableDroppedDatabaseId Identificatore della risorsa del database eliminato ripristinabile associato all'operazione di creazione del database. string
restorePointInTime Specifica il punto nel tempo (formato ISO8601) del database di origine che verrà ripristinato per creare il nuovo database. string
sampleName Nome dello schema di esempio da applicare durante la creazione del database. 'AdventureWorksLT'
'WideWorldImportersFull'
'WideWorldImportersStd'
secondaryType Tipo secondario del database se è secondario. I valori validi sono Geo, Named e Standby. 'Geo'
'Named'
'Standby'
sourceDatabaseDeletionDate Specifica l'ora di eliminazione del database. string
sourceDatabaseId Identificatore della risorsa del database di origine associato all'operazione di creazione del database. string
sourceResourceId Identificatore della risorsa dell'origine associata all'operazione di creazione del database.

Questa proprietà è supportata solo per l'edizione DataWarehouse e consente di eseguire il ripristino tra sottoscrizioni.

Quando si specifica sourceResourceId, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId e sourceDatabaseDeletionDate non devono essere specificati e CreateMode deve essere PointInTimeRestore, Restore o Recover.

Quando createMode è PointInTimeRestore, sourceResourceId deve essere l'ID risorsa del database esistente o del pool SQL esistente e deve essere specificato restorePointInTime.

Quando createMode è Restore, sourceResourceId deve essere l'ID risorsa del database eliminato ripristinabile o ripristinare il pool SQL eliminato.

Quando createMode è Recover, sourceResourceId deve essere l'ID risorsa del database recuperabile o del pool SQL ripristinabile.

Quando la sottoscrizione di origine appartiene a un tenant diverso rispetto alla sottoscrizione di destinazione, l'intestazione "x-ms-authorization-auxiliary" deve contenere il token di autenticazione per il tenant di origine. Per altre informazioni sull'intestazione "x-ms-authorization-auxiliary", vedere /azure/azure-resource-manager/management/authenticate-multi-tenant
string
useFreeLimit Indica se il database utilizza limiti mensili gratuiti. Consentito in un database in una sottoscrizione. bool
zoneRedundant Indipendentemente dal fatto che il database sia con ridondanza della zona, ovvero le repliche di questo database verranno distribuite in più zone di disponibilità. bool

DatabasePropertiesKeys

Name Description Value

DatabaseUserIdentity

Name Description Value

Sku

Name Description Value
capacity Capacità dello SKU specifico. int
family Se il servizio ha generazioni diverse di hardware, per lo stesso SKU, è possibile acquisire qui. string
name Il nome dello SKU, in genere, una lettera + codice numerico, ad esempio P3. stringa (obbligatorio)
size Dimensioni dello SKU specifico string
tier Il livello o l'edizione dello SKU specifico, ad esempio Basic, Premium. string

TrackedResourceTags

Name Description Value

Esempi di utilizzo

Campioni di Bicep

Un esempio di base di distribuzione del database MS SQL.

param resourceName string = 'acctest0001'
param location string = 'westeurope'
@secure()
@description('The administrator login password for the SQL server')
param administratorLoginPassword string

resource server 'Microsoft.Sql/servers@2021-02-01-preview' = {
  name: resourceName
  location: location
  properties: {
    administratorLogin: 'mradministrator'
    administratorLoginPassword: null
    minimalTlsVersion: '1.2'
    publicNetworkAccess: 'Enabled'
    restrictOutboundNetworkAccess: 'Disabled'
    version: '12.0'
  }
}

resource database 'Microsoft.Sql/servers/databases@2021-02-01-preview' = {
  parent: server
  name: resourceName
  location: location
  properties: {
    autoPauseDelay: 0
    createMode: 'Default'
    elasticPoolId: ''
    highAvailabilityReplicaCount: 0
    isLedgerOn: false
    licenseType: 'LicenseIncluded'
    maintenanceConfigurationId: resourceId('Microsoft.Maintenance/publicMaintenanceConfigurations', 'SQL_Default')
    minCapacity: 0
    readScale: 'Disabled'
    requestedBackupStorageRedundancy: 'Geo'
    zoneRedundant: false
  }
}

Azure Verified Modules

I seguenti Azure Moduli Verificati possono essere utilizzati per distribuire questo tipo di risorsa.

Modulo Description
database SQL di Azure AVM Resource Module per database SQL di Azure

Esempi di Azure Quickstart

I seguenti template Azure Quickstart contengono Bicep esempi per il deployment di questo tipo di risorsa.

File Bicep Description
Azure SQL Server con Audit scritto a Log Analytics Questo template ti permette di distribuire un server Azure SQL con Auditing abilitato per scrivere log di audit su Log Analytics (OMS workspace)
Crea un SQL Server e un database Questo modello consente di creare un database SQL e un server.
Pool SQL dedicato con crittografia trasparente Crea un SQL Server e un pool SQL dedicato (precedentemente SQL DW) con Transparent Data Encryption.
Deploy the Sports Analytics su Azure Architecture Crea un account di storage Azure con ADLS Gen 2 abilitato, un'istanza di Azure Data Factory con servizi collegati per l'account di storage (e il database SQL di Azure se distribuito) e un'istanza di Azure Databricks. All'identità di AAD per l'utente che distribuisce il modello e all'identità gestita per l'istanza di Azure Data Factory verrà concesso il ruolo Collaboratore ai dati del BLOB di archiviazione nell'account di archiviazione. Ci sono anche opzioni per distribuire un'istanza Azure Key Vault, un database SQL di Azure e un Azure Event Hub (per casi d'uso in streaming). Quando viene distribuito un Azure Key Vault, l'identità gestita dalla data factory e l'identità AAD per l'utente che distribuisce il template riceveranno il ruolo di utente Key Vault Secrets.
Questo modello mostra come creare un endpoint privato che punta ad Azure SQL Server
Provisiona un'app web con un database SQL Questo modello effettua il provisioning di un'app Web, un database SQL, impostazioni di scalabilità automatica, regole di avviso e Informazioni dettagliate app. Configura una stringa di connessione nell'app web per il database.
Sonarqube Docker Web App su Linux con Azure SQL Questo template distribuisce Sonarqube in un container Linux di Servizio app di Azure web app utilizzando l'immagine ufficiale Sonarqube e supportato da un Azure SQL Server.
Web App con Managed Identity, SQL Server e ΑΙ Esempio semplice per distribuire l'infrastruttura Azure per app + dati + identità gestita + monitoraggio

Definizione di risorsa del modello di Resource Manager

Il tipo di risorsa server/database può essere distribuito con operazioni destinate a:

  • gruppi di risorse - Vedere i comandi di distribuzione del gruppo di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare un Microsoft. Sql/server/databases, aggiungi il seguente JSON al tuo template.

{
  "type": "Microsoft.Sql/servers/databases",
  "apiVersion": "2023-08-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "autoPauseDelay": "int",
    "availabilityZone": "string",
    "catalogCollation": "string",
    "collation": "string",
    "createMode": "string",
    "elasticPoolId": "string",
    "encryptionProtector": "string",
    "encryptionProtectorAutoRotation": "bool",
    "federatedClientId": "string",
    "freeLimitExhaustionBehavior": "string",
    "highAvailabilityReplicaCount": "int",
    "isLedgerOn": "bool",
    "keys": {
      "{customized property}": {
      }
    },
    "licenseType": "string",
    "longTermRetentionBackupResourceId": "string",
    "maintenanceConfigurationId": "string",
    "manualCutover": "bool",
    "maxSizeBytes": "int",
    "minCapacity": "int",
    "performCutover": "bool",
    "preferredEnclaveType": "string",
    "readScale": "string",
    "recoverableDatabaseId": "string",
    "recoveryServicesRecoveryPointId": "string",
    "requestedBackupStorageRedundancy": "string",
    "restorableDroppedDatabaseId": "string",
    "restorePointInTime": "string",
    "sampleName": "string",
    "secondaryType": "string",
    "sourceDatabaseDeletionDate": "string",
    "sourceDatabaseId": "string",
    "sourceResourceId": "string",
    "useFreeLimit": "bool",
    "zoneRedundant": "bool"
  },
  "sku": {
    "capacity": "int",
    "family": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valori delle proprietà

Microsoft. SQL/server/database

Name Description Value
apiVersion Versione dell'API '2023-08-01'
identity L'identità di Azure Active Directory del database. DatabaseIdentity
location Percorso della risorsa. stringa (obbligatorio)
name Nome della risorsa stringa (obbligatorio)
properties Proprietà delle risorse. DatabaseProperties
sku SKU del database.

L'elenco degli SKU può variare in base all'area geografica e all'offerta di supporto. Per determinare le SKU (inclusi il nome SKU, il livello/edizione, la famiglia e la capacità) disponibili per il tuo abbonamento in una regione Azure, usa l'API REST Capabilities_ListByLocation o uno dei seguenti comandi:

azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />````<br /><br />Powershell
Get-AzSqlServerServiceObjective -Location <percorso>
````
Sku
tags Tag delle risorse Dizionario di nomi e valori di tag. Vedere tag nei modelli
type Tipo di risorsa 'Microsoft. Sql/server/database'

DatabaseIdentity

Name Description Value
type Tipo di identità 'None'
'UserAssigned'
userAssignedIdentities ID risorsa delle identità assegnate dall'utente da usare DatabaseIdentityUserAssignedIdentities

DatabaseIdentityUserAssignedIdentities

Name Description Value

DatabaseKey

Name Description Value

DatabaseProperties

Name Description Value
autoPauseDelay Tempo in minuti dopo il quale il database viene sospeso automaticamente. Un valore di -1 indica che la sospensione automatica è disabilitata int
availabilityZone Specifica la zona di disponibilità a cui viene aggiunto il database. '1'
'2'
'3'
'NoPreference'
catalogCollation Regole di confronto del catalogo di metadati. 'DATABASE_DEFAULT'
'SQL_Latin1_General_CP1_CI_AS'
collation Regole di confronto del database. string
createMode Specifica la modalità di creazione del database.

Impostazione predefinita: creazione regolare del database.

Copia: crea un database come copia di un database esistente. sourceDatabaseId deve essere specificato come ID risorsa del database di origine.

Secondario: crea un database come replica secondaria di un database esistente. sourceDatabaseId deve essere specificato come ID risorsa del database primario esistente.

PointInTimeRestore: crea un database ripristinando un backup temporizzato di un database esistente. sourceDatabaseId deve essere specificato come ID risorsa del database esistente e deve essere specificato restorePointInTime.

Ripristino: crea un database ripristinando un backup con replica geografica. sourceDatabaseId deve essere specificato come ID risorsa di database recuperabile da ripristinare.

Ripristino: crea un database ripristinando un backup di un database eliminato. sourceDatabaseId deve essere specificato. Se sourceDatabaseId è l'ID risorsa originale del database, è necessario specificare sourceDatabaseDeletionDate. In caso contrario, sourceDatabaseId deve essere l'ID risorsa del database eliminato ripristinabile e sourceDatabaseDeletionDate viene ignorato. è anche possibile specificare restorePointInTime per eseguire il ripristino da un punto precedente nel tempo.

RestoreLongTermRetentionBackup: crea un database ripristinando da un insieme di credenziali di conservazione a lungo termine. recoveryServicesRecoveryPointResourceId deve essere specificato come ID risorsa del punto di ripristino.

Copia, Secondario e RestoreLongTermRetentionBackup non sono supportati per l'edizione DataWarehouse.
'Copy'
'Default'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreExternalBackup'
'RestoreExternalBackupSecondary'
'RestoreLongTermRetentionBackup'
'Secondary'
elasticPoolId Identificatore della risorsa del pool elastico contenente il database. string
encryptionProtector URI dell'insieme di credenziali delle chiavi di Azure del database se è configurato con le chiavi gestite dal cliente del database. string
encryptionProtectorAutoRotation Flag per abilitare o disabilitare la rotazione automatica della chiave AKV della protezione di crittografia del database. bool
federatedClientId ID client usato per lo scenario cmk tra tenant per database string

Constraints:
Lunghezza minima = 36
Lunghezza massima = 36
Modello = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
freeLimitExhaustionBehavior Specifica il comportamento quando vengono esauriti i limiti gratuiti mensili per il database gratuito.

AutoPause: il database verrà sospeso automaticamente al termine dell'esaurimento dei limiti gratuiti per il resto del mese.

BillForUsage: il database continuerà a essere online al momento dell'esaurimento dei limiti gratuiti e verranno fatturate eventuali eccedenze.
'AutoPause'
'BillOverUsage'
highAvailabilityReplicaCount Numero di repliche secondarie associate al database business critical, Premium o Hyperscale edition che vengono usate per garantire la disponibilità elevata. Non applicabile a un database Hyperscale all'interno di un pool elastico. int
isLedgerOn Indipendentemente dal fatto che questo database sia un database libro mastro, ovvero tutte le tabelle del database sono tabelle libro mastro. Nota: il valore di questa proprietà non può essere modificato dopo la creazione del database. bool
keys ID risorsa delle identità assegnate dall'utente da usare DatabasePropertiesKeys
licenseType Tipo di licenza da applicare per questo database. LicenseIncluded se hai bisogno di una licenza, o BasePrice se hai una licenza e sei idoneo per la Vantaggio Azure Hybrid. 'BasePrice'
'LicenseIncluded'
longTermRetentionBackupResourceId Identificatore della risorsa del backup di conservazione a lungo termine associato all'operazione di creazione del database. string
maintenanceConfigurationId ID di configurazione della manutenzione assegnato al database. Questa configurazione definisce il periodo in cui verranno eseguiti gli aggiornamenti della manutenzione. string
manualCutover Indica se il cutover manuale controllato dal cliente deve essere eseguito durante l'operazione Aggiorna database al livello Hyperscale.

Questa proprietà è applicabile solo quando si ridimensiona il database dal livello Business Critical/Per utilizzo generico/Premium/Standard al livello Hyperscale.

Quando si specifica manualCutover, l'operazione di ridimensionamento attenderà l'input dell'utente per attivare il cutover nel database Hyperscale.

Per attivare il cutover, specificare il parametro 'performCutover' quando l'operazione di ridimensionamento è in stato In attesa.
bool
maxSizeBytes Dimensione massima del database espressa in byte. int
minCapacity Capacità minima allocata dal database, se non sospesa int
performCutover Per attivare il cutover manuale controllato dal cliente durante lo stato di attesa mentre è in corso l'operazione di ridimensionamento.

Questo parametro di proprietà è applicabile solo per le operazioni di ridimensionamento avviate insieme al parametro 'manualCutover'.

Questa proprietà è applicabile solo quando il database viene ridimensionato dal livello Business Critical/Per utilizzo generico/Premium/Standard al livello Hyperscale è già in corso.

Quando si specifica performCutover, l'operazione di ridimensionamento attiverà il cutover e eseguirà la modifica del ruolo nel database Hyperscale.
bool
preferredEnclaveType Tipo di enclave richiesto nel database, ad esempio enclave predefiniti o VBS. 'Default'
'VBS'
readScale Stato del routing di sola lettura. Se abilitate, le connessioni che hanno l'intention applicativa impostata su sola lettura nella loro stringa di connessione possono essere instradate verso una replica secondaria in sola lettura nella stessa regione. Non applicabile a un database Hyperscale all'interno di un pool elastico. 'Disabled'
'Enabled'
recoverableDatabaseId Identificatore della risorsa del database ripristinabile associato all'operazione di creazione del database. string
recoveryServicesRecoveryPointId Identificatore della risorsa del punto di ripristino associato all'operazione di creazione del database. string
requestedBackupStorageRedundancy Tipo di account di archiviazione da usare per archiviare i backup per questo database. 'Geo'
'GeoZone'
'Local'
'Zone'
restorableDroppedDatabaseId Identificatore della risorsa del database eliminato ripristinabile associato all'operazione di creazione del database. string
restorePointInTime Specifica il punto nel tempo (formato ISO8601) del database di origine che verrà ripristinato per creare il nuovo database. string
sampleName Nome dello schema di esempio da applicare durante la creazione del database. 'AdventureWorksLT'
'WideWorldImportersFull'
'WideWorldImportersStd'
secondaryType Tipo secondario del database se è secondario. I valori validi sono Geo, Named e Standby. 'Geo'
'Named'
'Standby'
sourceDatabaseDeletionDate Specifica l'ora di eliminazione del database. string
sourceDatabaseId Identificatore della risorsa del database di origine associato all'operazione di creazione del database. string
sourceResourceId Identificatore della risorsa dell'origine associata all'operazione di creazione del database.

Questa proprietà è supportata solo per l'edizione DataWarehouse e consente di eseguire il ripristino tra sottoscrizioni.

Quando si specifica sourceResourceId, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId e sourceDatabaseDeletionDate non devono essere specificati e CreateMode deve essere PointInTimeRestore, Restore o Recover.

Quando createMode è PointInTimeRestore, sourceResourceId deve essere l'ID risorsa del database esistente o del pool SQL esistente e deve essere specificato restorePointInTime.

Quando createMode è Restore, sourceResourceId deve essere l'ID risorsa del database eliminato ripristinabile o ripristinare il pool SQL eliminato.

Quando createMode è Recover, sourceResourceId deve essere l'ID risorsa del database recuperabile o del pool SQL ripristinabile.

Quando la sottoscrizione di origine appartiene a un tenant diverso rispetto alla sottoscrizione di destinazione, l'intestazione "x-ms-authorization-auxiliary" deve contenere il token di autenticazione per il tenant di origine. Per altre informazioni sull'intestazione "x-ms-authorization-auxiliary", vedere /azure/azure-resource-manager/management/authenticate-multi-tenant
string
useFreeLimit Indica se il database utilizza limiti mensili gratuiti. Consentito in un database in una sottoscrizione. bool
zoneRedundant Indipendentemente dal fatto che il database sia con ridondanza della zona, ovvero le repliche di questo database verranno distribuite in più zone di disponibilità. bool

DatabasePropertiesKeys

Name Description Value

DatabaseUserIdentity

Name Description Value

Sku

Name Description Value
capacity Capacità dello SKU specifico. int
family Se il servizio ha generazioni diverse di hardware, per lo stesso SKU, è possibile acquisire qui. string
name Il nome dello SKU, in genere, una lettera + codice numerico, ad esempio P3. stringa (obbligatorio)
size Dimensioni dello SKU specifico string
tier Il livello o l'edizione dello SKU specifico, ad esempio Basic, Premium. string

TrackedResourceTags

Name Description Value

Esempi di utilizzo

Modelli di Avvio Rapido Azure

I seguenti template Azure Quickstart distribuiscono questo tipo di risorsa.

Template Description
Azure SQL Server con Audit scritto a Log Analytics

Deploya su Azure
Questo template ti permette di distribuire un server Azure SQL con Auditing abilitato per scrivere log di audit su Log Analytics (OMS workspace)
Crea un SQL Server e un database

Deploya su Azure
Questo modello consente di creare un database SQL e un server.
Pool SQL dedicato con crittografia trasparente

Deploya su Azure
Crea un SQL Server e un pool SQL dedicato (precedentemente SQL DW) con Transparent Data Encryption.
Distribuisci un nuovo SQL Elastic Pool

Deploya su Azure
Questo template ti permette di distribuire un nuovo SQL Elastic Pool con il nuovo SQL Server associato e nuovi database SQL da assegnare.
Deploy the Sports Analytics su Azure Architecture

Deploya su Azure
Crea un account di storage Azure con ADLS Gen 2 abilitato, un'istanza di Azure Data Factory con servizi collegati per l'account di storage (e il database SQL di Azure se distribuito) e un'istanza di Azure Databricks. All'identità di AAD per l'utente che distribuisce il modello e all'identità gestita per l'istanza di Azure Data Factory verrà concesso il ruolo Collaboratore ai dati del BLOB di archiviazione nell'account di archiviazione. Ci sono anche opzioni per distribuire un'istanza Azure Key Vault, un database SQL di Azure e un Azure Event Hub (per casi d'uso in streaming). Quando viene distribuito un Azure Key Vault, l'identità gestita dalla data factory e l'identità AAD per l'utente che distribuisce il template riceveranno il ruolo di utente Key Vault Secrets.
HDInsight con Ambari personalizzato + database Metastore Hive in VNET

Deploya su Azure
Questo modello consente di creare un cluster HDInsight in una rete virtuale esistente con un nuovo database SQL che funge sia da database Ambari personalizzato che da metastore Hive. È necessario disporre di un server SQL esistente, un account di archiviazione e una rete virtuale.


Deploya su Azure
Questo modello mostra come creare un endpoint privato che punta ad Azure SQL Server
Provisiona un'app web con un database SQL

Deploya su Azure
Questo modello effettua il provisioning di un'app Web, un database SQL, impostazioni di scalabilità automatica, regole di avviso e Informazioni dettagliate app. Configura una stringa di connessione nell'app web per il database.
Desktop remoto Servizi ad alta disponibilità

Deploya su Azure
Questo codice di esempio ARM Template implementerà un laboratorio Desktop remoto Services 2019 Session Collection con alta disponibilità. L'obiettivo è distribuire una soluzione completamente ridondante e altamente disponibile per Desktop remoto Services, utilizzando Windows Server 2019.
Sonarqube Docker Web App su Linux con Azure SQL

Deploya su Azure
Questo template distribuisce Sonarqube in un container Linux di Servizio app di Azure web app utilizzando l'immagine ufficiale Sonarqube e supportato da un Azure SQL Server.
Web App con Managed Identity, SQL Server e ΑΙ

Deploya su Azure
Esempio semplice per distribuire l'infrastruttura Azure per app + dati + identità gestita + monitoraggio
WebApp che consuma un Azure SQL Private Endpoint

Deploya su Azure
Questo modello mostra come creare un'app Web che consumi un endpoint privato che punta ad Azure SQL Server

Definizione di risorsa Terraform (provider AzAPI)

Il tipo di risorsa server/database può essere distribuito con operazioni destinate a:

  • Gruppi di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare un Microsoft. Sql/server/databases, aggiungi il seguente Terraform al tuo template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/databases@2023-08-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      autoPauseDelay = int
      availabilityZone = "string"
      catalogCollation = "string"
      collation = "string"
      createMode = "string"
      elasticPoolId = "string"
      encryptionProtector = "string"
      encryptionProtectorAutoRotation = bool
      federatedClientId = "string"
      freeLimitExhaustionBehavior = "string"
      highAvailabilityReplicaCount = int
      isLedgerOn = bool
      keys = {
        {customized property} = {
        }
      }
      licenseType = "string"
      longTermRetentionBackupResourceId = "string"
      maintenanceConfigurationId = "string"
      manualCutover = bool
      maxSizeBytes = int
      minCapacity = int
      performCutover = bool
      preferredEnclaveType = "string"
      readScale = "string"
      recoverableDatabaseId = "string"
      recoveryServicesRecoveryPointId = "string"
      requestedBackupStorageRedundancy = "string"
      restorableDroppedDatabaseId = "string"
      restorePointInTime = "string"
      sampleName = "string"
      secondaryType = "string"
      sourceDatabaseDeletionDate = "string"
      sourceDatabaseId = "string"
      sourceResourceId = "string"
      useFreeLimit = bool
      zoneRedundant = bool
    }
    sku = {
      capacity = int
      family = "string"
      name = "string"
      size = "string"
      tier = "string"
    }
  }
}

Valori delle proprietà

Microsoft. SQL/server/database

Name Description Value
identity L'identità di Azure Active Directory del database. DatabaseIdentity
location Percorso della risorsa. stringa (obbligatorio)
name Nome della risorsa stringa (obbligatorio)
parent_id ID della risorsa padre per questa risorsa. ID per la risorsa di tipo: server
properties Proprietà delle risorse. DatabaseProperties
sku SKU del database.

L'elenco degli SKU può variare in base all'area geografica e all'offerta di supporto. Per determinare le SKU (inclusi il nome SKU, il livello/edizione, la famiglia e la capacità) disponibili per il tuo abbonamento in una regione Azure, usa l'API REST Capabilities_ListByLocation o uno dei seguenti comandi:

azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />````<br /><br />Powershell
Get-AzSqlServerServiceObjective -Location <percorso>
````
Sku
tags Tag delle risorse Dizionario di nomi e valori di tag.
type Tipo di risorsa "Microsoft. Sql/server/databases@2023-08-01"

DatabaseIdentity

Name Description Value
type Tipo di identità 'None'
'UserAssigned'
userAssignedIdentities ID risorsa delle identità assegnate dall'utente da usare DatabaseIdentityUserAssignedIdentities

DatabaseIdentityUserAssignedIdentities

Name Description Value

DatabaseKey

Name Description Value

DatabaseProperties

Name Description Value
autoPauseDelay Tempo in minuti dopo il quale il database viene sospeso automaticamente. Un valore di -1 indica che la sospensione automatica è disabilitata int
availabilityZone Specifica la zona di disponibilità a cui viene aggiunto il database. '1'
'2'
'3'
'NoPreference'
catalogCollation Regole di confronto del catalogo di metadati. 'DATABASE_DEFAULT'
'SQL_Latin1_General_CP1_CI_AS'
collation Regole di confronto del database. string
createMode Specifica la modalità di creazione del database.

Impostazione predefinita: creazione regolare del database.

Copia: crea un database come copia di un database esistente. sourceDatabaseId deve essere specificato come ID risorsa del database di origine.

Secondario: crea un database come replica secondaria di un database esistente. sourceDatabaseId deve essere specificato come ID risorsa del database primario esistente.

PointInTimeRestore: crea un database ripristinando un backup temporizzato di un database esistente. sourceDatabaseId deve essere specificato come ID risorsa del database esistente e deve essere specificato restorePointInTime.

Ripristino: crea un database ripristinando un backup con replica geografica. sourceDatabaseId deve essere specificato come ID risorsa di database recuperabile da ripristinare.

Ripristino: crea un database ripristinando un backup di un database eliminato. sourceDatabaseId deve essere specificato. Se sourceDatabaseId è l'ID risorsa originale del database, è necessario specificare sourceDatabaseDeletionDate. In caso contrario, sourceDatabaseId deve essere l'ID risorsa del database eliminato ripristinabile e sourceDatabaseDeletionDate viene ignorato. è anche possibile specificare restorePointInTime per eseguire il ripristino da un punto precedente nel tempo.

RestoreLongTermRetentionBackup: crea un database ripristinando da un insieme di credenziali di conservazione a lungo termine. recoveryServicesRecoveryPointResourceId deve essere specificato come ID risorsa del punto di ripristino.

Copia, Secondario e RestoreLongTermRetentionBackup non sono supportati per l'edizione DataWarehouse.
'Copy'
'Default'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreExternalBackup'
'RestoreExternalBackupSecondary'
'RestoreLongTermRetentionBackup'
'Secondary'
elasticPoolId Identificatore della risorsa del pool elastico contenente il database. string
encryptionProtector URI dell'insieme di credenziali delle chiavi di Azure del database se è configurato con le chiavi gestite dal cliente del database. string
encryptionProtectorAutoRotation Flag per abilitare o disabilitare la rotazione automatica della chiave AKV della protezione di crittografia del database. bool
federatedClientId ID client usato per lo scenario cmk tra tenant per database string

Constraints:
Lunghezza minima = 36
Lunghezza massima = 36
Modello = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
freeLimitExhaustionBehavior Specifica il comportamento quando vengono esauriti i limiti gratuiti mensili per il database gratuito.

AutoPause: il database verrà sospeso automaticamente al termine dell'esaurimento dei limiti gratuiti per il resto del mese.

BillForUsage: il database continuerà a essere online al momento dell'esaurimento dei limiti gratuiti e verranno fatturate eventuali eccedenze.
'AutoPause'
'BillOverUsage'
highAvailabilityReplicaCount Numero di repliche secondarie associate al database business critical, Premium o Hyperscale edition che vengono usate per garantire la disponibilità elevata. Non applicabile a un database Hyperscale all'interno di un pool elastico. int
isLedgerOn Indipendentemente dal fatto che questo database sia un database libro mastro, ovvero tutte le tabelle del database sono tabelle libro mastro. Nota: il valore di questa proprietà non può essere modificato dopo la creazione del database. bool
keys ID risorsa delle identità assegnate dall'utente da usare DatabasePropertiesKeys
licenseType Tipo di licenza da applicare per questo database. LicenseIncluded se hai bisogno di una licenza, o BasePrice se hai una licenza e sei idoneo per la Vantaggio Azure Hybrid. 'BasePrice'
'LicenseIncluded'
longTermRetentionBackupResourceId Identificatore della risorsa del backup di conservazione a lungo termine associato all'operazione di creazione del database. string
maintenanceConfigurationId ID di configurazione della manutenzione assegnato al database. Questa configurazione definisce il periodo in cui verranno eseguiti gli aggiornamenti della manutenzione. string
manualCutover Indica se il cutover manuale controllato dal cliente deve essere eseguito durante l'operazione Aggiorna database al livello Hyperscale.

Questa proprietà è applicabile solo quando si ridimensiona il database dal livello Business Critical/Per utilizzo generico/Premium/Standard al livello Hyperscale.

Quando si specifica manualCutover, l'operazione di ridimensionamento attenderà l'input dell'utente per attivare il cutover nel database Hyperscale.

Per attivare il cutover, specificare il parametro 'performCutover' quando l'operazione di ridimensionamento è in stato In attesa.
bool
maxSizeBytes Dimensione massima del database espressa in byte. int
minCapacity Capacità minima allocata dal database, se non sospesa int
performCutover Per attivare il cutover manuale controllato dal cliente durante lo stato di attesa mentre è in corso l'operazione di ridimensionamento.

Questo parametro di proprietà è applicabile solo per le operazioni di ridimensionamento avviate insieme al parametro 'manualCutover'.

Questa proprietà è applicabile solo quando il database viene ridimensionato dal livello Business Critical/Per utilizzo generico/Premium/Standard al livello Hyperscale è già in corso.

Quando si specifica performCutover, l'operazione di ridimensionamento attiverà il cutover e eseguirà la modifica del ruolo nel database Hyperscale.
bool
preferredEnclaveType Tipo di enclave richiesto nel database, ad esempio enclave predefiniti o VBS. 'Default'
'VBS'
readScale Stato del routing di sola lettura. Se abilitate, le connessioni che hanno l'intention applicativa impostata su sola lettura nella loro stringa di connessione possono essere instradate verso una replica secondaria in sola lettura nella stessa regione. Non applicabile a un database Hyperscale all'interno di un pool elastico. 'Disabled'
'Enabled'
recoverableDatabaseId Identificatore della risorsa del database ripristinabile associato all'operazione di creazione del database. string
recoveryServicesRecoveryPointId Identificatore della risorsa del punto di ripristino associato all'operazione di creazione del database. string
requestedBackupStorageRedundancy Tipo di account di archiviazione da usare per archiviare i backup per questo database. 'Geo'
'GeoZone'
'Local'
'Zone'
restorableDroppedDatabaseId Identificatore della risorsa del database eliminato ripristinabile associato all'operazione di creazione del database. string
restorePointInTime Specifica il punto nel tempo (formato ISO8601) del database di origine che verrà ripristinato per creare il nuovo database. string
sampleName Nome dello schema di esempio da applicare durante la creazione del database. 'AdventureWorksLT'
'WideWorldImportersFull'
'WideWorldImportersStd'
secondaryType Tipo secondario del database se è secondario. I valori validi sono Geo, Named e Standby. 'Geo'
'Named'
'Standby'
sourceDatabaseDeletionDate Specifica l'ora di eliminazione del database. string
sourceDatabaseId Identificatore della risorsa del database di origine associato all'operazione di creazione del database. string
sourceResourceId Identificatore della risorsa dell'origine associata all'operazione di creazione del database.

Questa proprietà è supportata solo per l'edizione DataWarehouse e consente di eseguire il ripristino tra sottoscrizioni.

Quando si specifica sourceResourceId, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId e sourceDatabaseDeletionDate non devono essere specificati e CreateMode deve essere PointInTimeRestore, Restore o Recover.

Quando createMode è PointInTimeRestore, sourceResourceId deve essere l'ID risorsa del database esistente o del pool SQL esistente e deve essere specificato restorePointInTime.

Quando createMode è Restore, sourceResourceId deve essere l'ID risorsa del database eliminato ripristinabile o ripristinare il pool SQL eliminato.

Quando createMode è Recover, sourceResourceId deve essere l'ID risorsa del database recuperabile o del pool SQL ripristinabile.

Quando la sottoscrizione di origine appartiene a un tenant diverso rispetto alla sottoscrizione di destinazione, l'intestazione "x-ms-authorization-auxiliary" deve contenere il token di autenticazione per il tenant di origine. Per altre informazioni sull'intestazione "x-ms-authorization-auxiliary", vedere /azure/azure-resource-manager/management/authenticate-multi-tenant
string
useFreeLimit Indica se il database utilizza limiti mensili gratuiti. Consentito in un database in una sottoscrizione. bool
zoneRedundant Indipendentemente dal fatto che il database sia con ridondanza della zona, ovvero le repliche di questo database verranno distribuite in più zone di disponibilità. bool

DatabasePropertiesKeys

Name Description Value

DatabaseUserIdentity

Name Description Value

Sku

Name Description Value
capacity Capacità dello SKU specifico. int
family Se il servizio ha generazioni diverse di hardware, per lo stesso SKU, è possibile acquisire qui. string
name Il nome dello SKU, in genere, una lettera + codice numerico, ad esempio P3. stringa (obbligatorio)
size Dimensioni dello SKU specifico string
tier Il livello o l'edizione dello SKU specifico, ad esempio Basic, Premium. string

TrackedResourceTags

Name Description Value

Esempi di utilizzo

Esempi di Terraform

Un esempio di base di distribuzione del database MS SQL.

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            = "mradministrator"
      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" "database" {
  type      = "Microsoft.Sql/servers/databases@2021-02-01-preview"
  parent_id = azapi_resource.server.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      autoPauseDelay                   = 0
      createMode                       = "Default"
      elasticPoolId                    = ""
      highAvailabilityReplicaCount     = 0
      isLedgerOn                       = false
      licenseType                      = "LicenseIncluded"
      maintenanceConfigurationId       = data.azapi_resource_id.publicMaintenanceConfiguration.id
      minCapacity                      = 0
      readScale                        = "Disabled"
      requestedBackupStorageRedundancy = "Geo"
      zoneRedundant                    = false
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Un esempio di base di distribuzione del database MS SQL.

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            = "mradministrator"
      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" "database" {
  type      = "Microsoft.Sql/servers/databases@2021-02-01-preview"
  parent_id = azapi_resource.server.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      autoPauseDelay                   = 0
      createMode                       = "Default"
      elasticPoolId                    = ""
      highAvailabilityReplicaCount     = 0
      isLedgerOn                       = false
      licenseType                      = "LicenseIncluded"
      maintenanceConfigurationId       = data.azapi_resource_id.publicMaintenanceConfiguration.id
      minCapacity                      = 0
      readScale                        = "Disabled"
      requestedBackupStorageRedundancy = "Geo"
      zoneRedundant                    = false
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}