Microsoft. Serveurs/bases de données SQL 01-04-2014

Définition des ressources sur les Biceps

Le type de ressource serveurs/bases de données peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer un Microsoft. Ressource SQL/serveurs/bases de données, ajoutez le Bicep suivant à votre modèle.

resource symbolicname 'Microsoft.Sql/servers/databases@2014-04-01' = {
  parent: resourceSymbolicName
  location: 'string'
  name: 'string'
  properties: {
    collation: 'string'
    createMode: 'string'
    edition: 'string'
    elasticPoolName: 'string'
    maxSizeBytes: 'string'
    readScale: 'string'
    recoveryServicesRecoveryPointResourceId: 'string'
    requestedServiceObjectiveId: 'string'
    requestedServiceObjectiveName: 'string'
    restorePointInTime: 'string'
    sampleName: 'string'
    sourceDatabaseDeletionDate: 'string'
    sourceDatabaseId: 'string'
    zoneRedundant: bool
  }
  tags: {
    {customized property}: 'string'
  }
}

Valeurs de propriété

Microsoft. SQL/serveurs/bases de données

Name Description Value
location Emplacement des ressources. chaîne (obligatoire)
name Nom de la ressource chaîne (obligatoire)
parent Dans Bicep, vous pouvez spécifier la ressource parent pour une ressource enfant. Vous devez uniquement ajouter cette propriété lorsque la ressource enfant est déclarée en dehors de la ressource parente.

Pour plus d’informations, consultez ressource enfant en dehors de la ressource parente.
Nom symbolique de la ressource de type : serveurs
properties Propriétés représentant la ressource. DatabaseProperties
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles

DatabaseProperties

| Nom | Description | Valeur | | ---- | ----------- | ------------ | | classement | Classement de la base de données. Si createMode n’est pas default, cette valeur est ignorée. | string | | createMode | Spécifie le mode de création de base de données.

Valeur par défaut : création régulière de la base de données.

Copie : crée une base de données en tant que copie d’une base de données existante. sourceDatabaseId doit être spécifié comme ID de ressource de la base de données source.

OnlineSecondary/NonReadableSecondary : crée une base de données en tant que réplica secondaire (lisible ou non lisible) d’une base de données existante. sourceDatabaseId doit être spécifié comme ID de ressource de la base de données primaire existante.

PointInTimeRestore : crée une base de données en restaurant une sauvegarde à un point dans le temps d’une base de données existante. sourceDatabaseId doit être spécifié comme ID de ressource de la base de données existante, et restorePointInTime doit être spécifié.

Récupération : crée une base de données en restaurant une sauvegarde géorépliquée. sourceDatabaseId doit être spécifié comme ID de ressource de base de données récupérable à restaurer.

Restauration : crée une base de données en restaurant une sauvegarde d’une base de données supprimée. sourceDatabaseId doit être spécifié. Si sourceDatabaseId est l’ID de ressource d’origine de la base de données, sourceDatabaseDeletionDate doit être spécifié. Sinon, sourceDatabaseId doit être l’ID de ressource de base de données supprimé pouvant être restauré et sourceDatabaseDeletionDate est ignoré. restorePointInTime peut également être spécifié pour effectuer une restauration à partir d’un point antérieur dans le temps.

RestoreLongTermRetentionBackup : crée une base de données en effectuant une restauration à partir d’un coffre de rétention à long terme. recoveryServicesRecoveryPointResourceId doit être spécifié comme ID de ressource de point de récupération.

Copy, NonReadableSecondary, OnlineSecondary et RestoreLongTermRetentionBackup ne sont pas pris en charge pour l’édition DataWarehouse. | 'Copie'
'Default'
'NonReadableSecondary'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreLongTermRetentionBackup' | | édition | Édition de la base de données. L’énumération DatabaseEditions contient toutes les éditions valides. Si createMode est NonReadableSecondary ou OnlineSecondary, cette valeur est ignorée.

La liste des références SKU peut varier selon la région et l’offre de support. Pour déterminer les SKU (y compris le nom du SKU, le paier/édition, la famille et la capacité) disponibles pour votre abonnement dans une région Azure, utilisez l’API REST Capabilities_ListByLocation ou l’une des commandes suivantes :

azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />````<br /><br />PowerShell
<emplacement Get-AzSqlServerServiceObjective -Location>
| 'Basic'<br />'Business'<br />'BusinessCritical'<br />'DataWarehouse'<br />'Free'<br />'GeneralPurpose'<br />'Hyperscale'<br />'Premium'<br />'PremiumRS'<br />'Standard'<br />'Stretch'<br />'System'<br />'System2'<br />'Web' | | elasticPoolName | The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition. | string | | maxSizeBytes | The max size of the database expressed in bytes. If createMode is not Default, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: "Capabilities_ListByLocation." | string | | readScale | Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition. | 'Disabled'<br />'Enabled' | | recoveryServicesRecoveryPointResourceId | Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from. | string | | requestedServiceObjectiveId | The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName.<br /><br />The list of SKUs may vary by region and support offer. To determine the service objective ids that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API. | string <br /><br />Constraints:<br />Min length = 36<br />Max length = 36<br />Pattern = `^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$` | | requestedServiceObjectiveName | The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. <br /><br />The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:<br /><br />```azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />

```powershell
<emplacement Get-AzSqlServerServiceObjective -Location>
```` | 'De base'
'DS100'
'DS1000'
'DS1200'
'DS1500'
'DS200'
'DS2000'
'DS300'
'DS400'
'DS500'
'DS600'
'DW100'
'DW1000'
'DW10000c'
'DW1000c'
'DW1200'
'DW1500'
'DW15000c'
'DW1500c'
'DW200'
'DW2000'
'DW2000c'
'DW2500c'
'DW300'
'DW3000'
'DW30000c'
'DW3000c'
'DW400'
'DW500'
'DW5000c'
'DW600'
'DW6000'
'DW6000c'
'DW7500c'
'ElasticPool'
'Free'
'P1'
'P11'
'P15'
'P2'
'P3'
'P4'
'P6'
'PRS1'
'PRS2'
'PRS4'
'PRS6'
'S0'
'S1'
'S12'
'S2'
'S3'
'S4'
'S6'
'S7'
'S9'
'System'
'System0'
'System1'
'System2'
'System2L'
'System3'
'System3L'
'System4'
'System4L' | | restorePointInTime | Conditionnel. Si createMode est PointInTimeRestore, cette valeur est requise. Si createMode est Restore, cette valeur est facultative. Spécifie le point dans le temps (format ISO8601) de la base de données source qui sera restauré pour créer la nouvelle base de données. Doit être supérieur ou égal à la valeur la plus ancienne de la base de données source. | string | | sampleName | Indique le nom de l’exemple de schéma à appliquer lors de la création de cette base de données. Si createMode n’est pas default, cette valeur est ignorée. Non pris en charge pour l’édition DataWarehouse. | 'AdventureWorksLT' | | sourceDatabaseDeletionDate | Conditionnel. Si createMode est Restore et sourceDatabaseId est l’ID de ressource d’origine de la base de données supprimée lorsqu’elle existait (par opposition à son ID de base de données supprimé pouvant être restauré), cette valeur est requise. Spécifie l’heure à laquelle la base de données a été supprimée. | string | | sourceDatabaseId | Conditionnel. Si createMode est Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery ou Restore, cette valeur est requise. Spécifie l’ID de ressource de la base de données source. Si createMode est NonReadableSecondary ou OnlineSecondary, le nom de la base de données source doit être identique à celui de la nouvelle base de données en cours de création. | string | | zoneRedundant | Indique si cette base de données est redondante interzone, ce qui signifie que les réplicas de cette base de données seront répartis entre plusieurs zones de disponibilité. | bool |

TrackedResourceTags

Name Description Value

Exemples d’utilisation

Échantillons de Biceps

Exemple de base de déploiement de MS SQL Database.

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

Les modules Azure Vérifiés suivants peuvent être utilisés pour déployer ce type de ressource.

Module Description
Azure SQL Database AVM Resource Module for Azure SQL Database

Azure Quickstart Examples

Les modèles suivants Azure Quickstart contiennent Bicep exemples pour déployer ce type de ressource.

Dossier Bicep Description
Azure SQL Server avec l’audit écrit à Log Analytics Ce modèle vous permet de déployer un serveur Azure SQL avec l’audit activé pour écrire des journaux d’audit sur Log Analytics (espace de travail OMS)
Créer un SQL Server et une base de données Ce modèle vous permet de créer SQL Database et Server.
Pool SQL dédié avec chiffrement transparent Crée un SQL Server et un pool SQL dédié (anciennement SQL DW) avec Transparent Data Encryption.
Déployer l’analyse sportive sur Azure architecture Crée un compte de stockage Azure avec ADLS Gen 2 activé, une instance Azure Data Factory avec des services liés pour le compte de stockage (et la Azure SQL Database si déployée), et une instance Azure Databricks. L’identité AAD pour l’utilisateur qui déploie le modèle et l’identité managée pour l’instance ADF reçoivent le rôle Contributeur aux données blob de stockage sur le compte de stockage. Il existe également des options pour déployer une instance Azure Key Vault, une Azure SQL Database et un Azure Event Hub (pour des cas d’utilisation en streaming). Lorsqu’un Azure Key Vault est déployé, l’identité gérée par l’usine de données et l’identité AAD de l’utilisateur déployant le modèle se voient attribuer le rôle d’utilisateur Key Vault Secrets.
c0 Ce modèle montre comment créer un point de terminaison privé pointant vers Azure SQL Server
Provisionner une application Web avec une base de données SQL Ce modèle provisionne une application web, une base de données SQL, des paramètres de mise à l’échelle automatique, des règles d’alerte et App Insights. Il configure une chaîne de connexion dans l’application web pour la base de données.
Sonarqube Docker Web App sous Linux avec Azure SQL Ce modèle déploie Sonarqube dans un conteneur Linux d’Azure App Service web app, utilisant l’image officielle Sonarqube et soutenu par un Azure SQL Server.
Application Web avec identité managée, SQL Server et ΑΙ Exemple simple pour déployer une infrastructure Azure pour application + données + identité gérée + surveillance

Définition de ressource de modèle ARM

Le type de ressource serveurs/bases de données peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer un Microsoft. Ressource SQL/serveurs/bases de données, ajoutez le JSON suivant à votre modèle.

{
  "type": "Microsoft.Sql/servers/databases",
  "apiVersion": "2014-04-01",
  "name": "string",
  "location": "string",
  "properties": {
    "collation": "string",
    "createMode": "string",
    "edition": "string",
    "elasticPoolName": "string",
    "maxSizeBytes": "string",
    "readScale": "string",
    "recoveryServicesRecoveryPointResourceId": "string",
    "requestedServiceObjectiveId": "string",
    "requestedServiceObjectiveName": "string",
    "restorePointInTime": "string",
    "sampleName": "string",
    "sourceDatabaseDeletionDate": "string",
    "sourceDatabaseId": "string",
    "zoneRedundant": "bool"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valeurs de propriété

Microsoft. SQL/serveurs/bases de données

Name Description Value
apiVersion Version de l’API '2014-04-01'
location Emplacement des ressources. chaîne (obligatoire)
name Nom de la ressource chaîne (obligatoire)
properties Propriétés représentant la ressource. DatabaseProperties
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles
type Type de ressource « Microsoft. Sql/serveurs/bases de données

DatabaseProperties

| Nom | Description | Valeur | | ---- | ----------- | ------------ | | classement | Classement de la base de données. Si createMode n’est pas default, cette valeur est ignorée. | string | | createMode | Spécifie le mode de création de base de données.

Valeur par défaut : création régulière de la base de données.

Copie : crée une base de données en tant que copie d’une base de données existante. sourceDatabaseId doit être spécifié comme ID de ressource de la base de données source.

OnlineSecondary/NonReadableSecondary : crée une base de données en tant que réplica secondaire (lisible ou non lisible) d’une base de données existante. sourceDatabaseId doit être spécifié comme ID de ressource de la base de données primaire existante.

PointInTimeRestore : crée une base de données en restaurant une sauvegarde à un point dans le temps d’une base de données existante. sourceDatabaseId doit être spécifié comme ID de ressource de la base de données existante, et restorePointInTime doit être spécifié.

Récupération : crée une base de données en restaurant une sauvegarde géorépliquée. sourceDatabaseId doit être spécifié comme ID de ressource de base de données récupérable à restaurer.

Restauration : crée une base de données en restaurant une sauvegarde d’une base de données supprimée. sourceDatabaseId doit être spécifié. Si sourceDatabaseId est l’ID de ressource d’origine de la base de données, sourceDatabaseDeletionDate doit être spécifié. Sinon, sourceDatabaseId doit être l’ID de ressource de base de données supprimé pouvant être restauré et sourceDatabaseDeletionDate est ignoré. restorePointInTime peut également être spécifié pour effectuer une restauration à partir d’un point antérieur dans le temps.

RestoreLongTermRetentionBackup : crée une base de données en effectuant une restauration à partir d’un coffre de rétention à long terme. recoveryServicesRecoveryPointResourceId doit être spécifié comme ID de ressource de point de récupération.

Copy, NonReadableSecondary, OnlineSecondary et RestoreLongTermRetentionBackup ne sont pas pris en charge pour l’édition DataWarehouse. | 'Copie'
'Default'
'NonReadableSecondary'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreLongTermRetentionBackup' | | édition | Édition de la base de données. L’énumération DatabaseEditions contient toutes les éditions valides. Si createMode est NonReadableSecondary ou OnlineSecondary, cette valeur est ignorée.

La liste des références SKU peut varier selon la région et l’offre de support. Pour déterminer les SKU (y compris le nom du SKU, le paier/édition, la famille et la capacité) disponibles pour votre abonnement dans une région Azure, utilisez l’API REST Capabilities_ListByLocation ou l’une des commandes suivantes :

azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />````<br /><br />PowerShell
<emplacement Get-AzSqlServerServiceObjective -Location>
| 'Basic'<br />'Business'<br />'BusinessCritical'<br />'DataWarehouse'<br />'Free'<br />'GeneralPurpose'<br />'Hyperscale'<br />'Premium'<br />'PremiumRS'<br />'Standard'<br />'Stretch'<br />'System'<br />'System2'<br />'Web' | | elasticPoolName | The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition. | string | | maxSizeBytes | The max size of the database expressed in bytes. If createMode is not Default, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: "Capabilities_ListByLocation." | string | | readScale | Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition. | 'Disabled'<br />'Enabled' | | recoveryServicesRecoveryPointResourceId | Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from. | string | | requestedServiceObjectiveId | The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName.<br /><br />The list of SKUs may vary by region and support offer. To determine the service objective ids that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API. | string <br /><br />Constraints:<br />Min length = 36<br />Max length = 36<br />Pattern = `^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$` | | requestedServiceObjectiveName | The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. <br /><br />The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:<br /><br />```azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />

```powershell
<emplacement Get-AzSqlServerServiceObjective -Location>
```` | 'De base'
'DS100'
'DS1000'
'DS1200'
'DS1500'
'DS200'
'DS2000'
'DS300'
'DS400'
'DS500'
'DS600'
'DW100'
'DW1000'
'DW10000c'
'DW1000c'
'DW1200'
'DW1500'
'DW15000c'
'DW1500c'
'DW200'
'DW2000'
'DW2000c'
'DW2500c'
'DW300'
'DW3000'
'DW30000c'
'DW3000c'
'DW400'
'DW500'
'DW5000c'
'DW600'
'DW6000'
'DW6000c'
'DW7500c'
'ElasticPool'
'Free'
'P1'
'P11'
'P15'
'P2'
'P3'
'P4'
'P6'
'PRS1'
'PRS2'
'PRS4'
'PRS6'
'S0'
'S1'
'S12'
'S2'
'S3'
'S4'
'S6'
'S7'
'S9'
'System'
'System0'
'System1'
'System2'
'System2L'
'System3'
'System3L'
'System4'
'System4L' | | restorePointInTime | Conditionnel. Si createMode est PointInTimeRestore, cette valeur est requise. Si createMode est Restore, cette valeur est facultative. Spécifie le point dans le temps (format ISO8601) de la base de données source qui sera restauré pour créer la nouvelle base de données. Doit être supérieur ou égal à la valeur la plus ancienne de la base de données source. | string | | sampleName | Indique le nom de l’exemple de schéma à appliquer lors de la création de cette base de données. Si createMode n’est pas default, cette valeur est ignorée. Non pris en charge pour l’édition DataWarehouse. | 'AdventureWorksLT' | | sourceDatabaseDeletionDate | Conditionnel. Si createMode est Restore et sourceDatabaseId est l’ID de ressource d’origine de la base de données supprimée lorsqu’elle existait (par opposition à son ID de base de données supprimé pouvant être restauré), cette valeur est requise. Spécifie l’heure à laquelle la base de données a été supprimée. | string | | sourceDatabaseId | Conditionnel. Si createMode est Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery ou Restore, cette valeur est requise. Spécifie l’ID de ressource de la base de données source. Si createMode est NonReadableSecondary ou OnlineSecondary, le nom de la base de données source doit être identique à celui de la nouvelle base de données en cours de création. | string | | zoneRedundant | Indique si cette base de données est redondante interzone, ce qui signifie que les réplicas de cette base de données seront répartis entre plusieurs zones de disponibilité. | bool |

TrackedResourceTags

Name Description Value

Exemples d’utilisation

Modèles de démarrage rapide Azure

Les modèles suivants Azure Quickstart déployent ce type de ressource.

Template Description
Azure SQL Server avec l’audit écrit à Log Analytics

Déployer vers Azure
Ce modèle vous permet de déployer un serveur Azure SQL avec l’audit activé pour écrire des journaux d’audit sur Log Analytics (espace de travail OMS)
Créer un SQL Server et une base de données

Déployer vers Azure
Ce modèle vous permet de créer SQL Database et Server.
Pool SQL dédié avec chiffrement transparent

Déployer vers Azure
Crée un SQL Server et un pool SQL dédié (anciennement SQL DW) avec Transparent Data Encryption.
Déploie un nouveau SQL Elastic Pool

Déployer vers Azure
Ce modèle vous permet de déployer un nouveau SQL Elastic Pool avec son nouveau SQL Server associé et de nouvelles bases de données SQL à lui assigner.
Déployer l’analyse sportive sur Azure architecture

Déployer vers Azure
Crée un compte de stockage Azure avec ADLS Gen 2 activé, une instance Azure Data Factory avec des services liés pour le compte de stockage (et la Azure SQL Database si déployée), et une instance Azure Databricks. L’identité AAD pour l’utilisateur qui déploie le modèle et l’identité managée pour l’instance ADF reçoivent le rôle Contributeur aux données blob de stockage sur le compte de stockage. Il existe également des options pour déployer une instance Azure Key Vault, une Azure SQL Database et un Azure Event Hub (pour des cas d’utilisation en streaming). Lorsqu’un Azure Key Vault est déployé, l’identité gérée par l’usine de données et l’identité AAD de l’utilisateur déployant le modèle se voient attribuer le rôle d’utilisateur Key Vault Secrets.
HDInsight avec Ambari personnalisé + base de données Hive Metastore dans VNET

Déployer vers Azure
Ce modèle vous permet de créer un cluster HDInsight dans un réseau virtuel existant avec une nouvelle base de données SQL qui sert à la fois de base de données Ambari personnalisée et de metastore Hive. Vous devez disposer d’un serveur SQL, d’un compte de stockage et d’un réseau virtuel existants.
c0

Déployer vers Azure
Ce modèle montre comment créer un point de terminaison privé pointant vers Azure SQL Server
Provisionner une application Web avec une base de données SQL

Déployer vers Azure
Ce modèle provisionne une application web, une base de données SQL, des paramètres de mise à l’échelle automatique, des règles d’alerte et App Insights. Il configure une chaîne de connexion dans l’application web pour la base de données.
Bureau à distance Services à haute disponibilité

Déployer vers Azure
Ce code d’exemple de modèle ARM déploiera un laboratoire Bureau à distance Services 2019 Session Collection avec haute disponibilité. L’objectif est de déployer une solution entièrement redondante et très disponible pour Bureau à distance Services, utilisant Windows Server 2019.
Sonarqube Docker Web App sous Linux avec Azure SQL

Déployer vers Azure
Ce modèle déploie Sonarqube dans un conteneur Linux d’Azure App Service web app, utilisant l’image officielle Sonarqube et soutenu par un Azure SQL Server.
Application Web avec identité managée, SQL Server et ΑΙ

Déployer vers Azure
Exemple simple pour déployer une infrastructure Azure pour application + données + identité gérée + surveillance
WebApp consommant un point de terminaison privé Azure SQL

Déployer vers Azure
Ce modèle montre comment créer une application Web qui consomme un point de terminaison privé pointant vers Azure SQL Server

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource serveurs/bases de données peut être déployé avec des opérations qui ciblent :

  • Groupes de ressources

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer un Microsoft. Ressource SQL/serveurs/bases de données, ajoutez la Terraform suivante à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/databases@2014-04-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      collation = "string"
      createMode = "string"
      edition = "string"
      elasticPoolName = "string"
      maxSizeBytes = "string"
      readScale = "string"
      recoveryServicesRecoveryPointResourceId = "string"
      requestedServiceObjectiveId = "string"
      requestedServiceObjectiveName = "string"
      restorePointInTime = "string"
      sampleName = "string"
      sourceDatabaseDeletionDate = "string"
      sourceDatabaseId = "string"
      zoneRedundant = bool
    }
  }
}

Valeurs de propriété

Microsoft. SQL/serveurs/bases de données

Name Description Value
location Emplacement des ressources. chaîne (obligatoire)
name Nom de la ressource chaîne (obligatoire)
parent_id ID de la ressource qui est le parent de cette ressource. ID de ressource de type : serveurs
properties Propriétés représentant la ressource. DatabaseProperties
tags Balises de ressources Dictionnaire de noms et de valeurs d’étiquettes.
type Type de ressource « Microsoft. Sql/serveurs/databases@2014-04-01"

DatabaseProperties

| Nom | Description | Valeur | | ---- | ----------- | ------------ | | classement | Classement de la base de données. Si createMode n’est pas default, cette valeur est ignorée. | string | | createMode | Spécifie le mode de création de base de données.

Valeur par défaut : création régulière de la base de données.

Copie : crée une base de données en tant que copie d’une base de données existante. sourceDatabaseId doit être spécifié comme ID de ressource de la base de données source.

OnlineSecondary/NonReadableSecondary : crée une base de données en tant que réplica secondaire (lisible ou non lisible) d’une base de données existante. sourceDatabaseId doit être spécifié comme ID de ressource de la base de données primaire existante.

PointInTimeRestore : crée une base de données en restaurant une sauvegarde à un point dans le temps d’une base de données existante. sourceDatabaseId doit être spécifié comme ID de ressource de la base de données existante, et restorePointInTime doit être spécifié.

Récupération : crée une base de données en restaurant une sauvegarde géorépliquée. sourceDatabaseId doit être spécifié comme ID de ressource de base de données récupérable à restaurer.

Restauration : crée une base de données en restaurant une sauvegarde d’une base de données supprimée. sourceDatabaseId doit être spécifié. Si sourceDatabaseId est l’ID de ressource d’origine de la base de données, sourceDatabaseDeletionDate doit être spécifié. Sinon, sourceDatabaseId doit être l’ID de ressource de base de données supprimé pouvant être restauré et sourceDatabaseDeletionDate est ignoré. restorePointInTime peut également être spécifié pour effectuer une restauration à partir d’un point antérieur dans le temps.

RestoreLongTermRetentionBackup : crée une base de données en effectuant une restauration à partir d’un coffre de rétention à long terme. recoveryServicesRecoveryPointResourceId doit être spécifié comme ID de ressource de point de récupération.

Copy, NonReadableSecondary, OnlineSecondary et RestoreLongTermRetentionBackup ne sont pas pris en charge pour l’édition DataWarehouse. | 'Copie'
'Default'
'NonReadableSecondary'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreLongTermRetentionBackup' | | édition | Édition de la base de données. L’énumération DatabaseEditions contient toutes les éditions valides. Si createMode est NonReadableSecondary ou OnlineSecondary, cette valeur est ignorée.

La liste des références SKU peut varier selon la région et l’offre de support. Pour déterminer les SKU (y compris le nom du SKU, le paier/édition, la famille et la capacité) disponibles pour votre abonnement dans une région Azure, utilisez l’API REST Capabilities_ListByLocation ou l’une des commandes suivantes :

azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />````<br /><br />PowerShell
<emplacement Get-AzSqlServerServiceObjective -Location>
| 'Basic'<br />'Business'<br />'BusinessCritical'<br />'DataWarehouse'<br />'Free'<br />'GeneralPurpose'<br />'Hyperscale'<br />'Premium'<br />'PremiumRS'<br />'Standard'<br />'Stretch'<br />'System'<br />'System2'<br />'Web' | | elasticPoolName | The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition. | string | | maxSizeBytes | The max size of the database expressed in bytes. If createMode is not Default, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: "Capabilities_ListByLocation." | string | | readScale | Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition. | 'Disabled'<br />'Enabled' | | recoveryServicesRecoveryPointResourceId | Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from. | string | | requestedServiceObjectiveId | The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName.<br /><br />The list of SKUs may vary by region and support offer. To determine the service objective ids that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API. | string <br /><br />Constraints:<br />Min length = 36<br />Max length = 36<br />Pattern = `^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$` | | requestedServiceObjectiveName | The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. <br /><br />The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:<br /><br />```azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />

```powershell
<emplacement Get-AzSqlServerServiceObjective -Location>
```` | 'De base'
'DS100'
'DS1000'
'DS1200'
'DS1500'
'DS200'
'DS2000'
'DS300'
'DS400'
'DS500'
'DS600'
'DW100'
'DW1000'
'DW10000c'
'DW1000c'
'DW1200'
'DW1500'
'DW15000c'
'DW1500c'
'DW200'
'DW2000'
'DW2000c'
'DW2500c'
'DW300'
'DW3000'
'DW30000c'
'DW3000c'
'DW400'
'DW500'
'DW5000c'
'DW600'
'DW6000'
'DW6000c'
'DW7500c'
'ElasticPool'
'Free'
'P1'
'P11'
'P15'
'P2'
'P3'
'P4'
'P6'
'PRS1'
'PRS2'
'PRS4'
'PRS6'
'S0'
'S1'
'S12'
'S2'
'S3'
'S4'
'S6'
'S7'
'S9'
'System'
'System0'
'System1'
'System2'
'System2L'
'System3'
'System3L'
'System4'
'System4L' | | restorePointInTime | Conditionnel. Si createMode est PointInTimeRestore, cette valeur est requise. Si createMode est Restore, cette valeur est facultative. Spécifie le point dans le temps (format ISO8601) de la base de données source qui sera restauré pour créer la nouvelle base de données. Doit être supérieur ou égal à la valeur la plus ancienne de la base de données source. | string | | sampleName | Indique le nom de l’exemple de schéma à appliquer lors de la création de cette base de données. Si createMode n’est pas default, cette valeur est ignorée. Non pris en charge pour l’édition DataWarehouse. | 'AdventureWorksLT' | | sourceDatabaseDeletionDate | Conditionnel. Si createMode est Restore et sourceDatabaseId est l’ID de ressource d’origine de la base de données supprimée lorsqu’elle existait (par opposition à son ID de base de données supprimé pouvant être restauré), cette valeur est requise. Spécifie l’heure à laquelle la base de données a été supprimée. | string | | sourceDatabaseId | Conditionnel. Si createMode est Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery ou Restore, cette valeur est requise. Spécifie l’ID de ressource de la base de données source. Si createMode est NonReadableSecondary ou OnlineSecondary, le nom de la base de données source doit être identique à celui de la nouvelle base de données en cours de création. | string | | zoneRedundant | Indique si cette base de données est redondante interzone, ce qui signifie que les réplicas de cette base de données seront répartis entre plusieurs zones de disponibilité. | bool |

TrackedResourceTags

Name Description Value

Exemples d’utilisation

Échantillons Terraform

Exemple de base de déploiement de MS SQL Database.

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    = ["*"]
}

Exemple de base de déploiement de MS SQL Database.

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    = ["*"]
}