Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
- Latest
- 2025-02-01-preview
- 2025-01-01
- 2024-11-01-preview
- 2024-05-01-preview
- 2023-08-01
- 2023-08-01-preview
- 2023-05-01-preview
- 2023-02-01-preview
- 2022-11-01-preview
- 2022-08-01-preview
- 2022-05-01-preview
- 2022-02-01-preview
- 2021-11-01
- 2021-11-01-preview
- 2021-08-01-preview
- 2021-05-01-preview
- 2021-02-01-preview
- 2020-11-01-preview
- 2020-08-01-preview
- 2020-02-02-preview
- 2019-06-01-preview
- 2017-10-01-preview
- 2017-03-01-preview
- 2014-04-01
Definición de recurso Bicep
El tipo de recurso servers/databases se puede implementar con operaciones destinadas a:
- grupos de recursos: consulte comandos de implementación de grupos de recursos
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un Microsoft. Recurso SQL/servidores/bases de datos, añade el siguiente Bicep a tu plantilla.
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'
}
}
Valores de propiedad
Microsoft. SQL/servidores/bases de datos
| Name | Description | Value |
|---|---|---|
| location | Ubicación del recurso. | string (obligatorio) |
| name | El nombre del recurso | string (obligatorio) |
| parent | En Bicep, puedes especificar el recurso padre para un recurso hijo. Solo tiene que agregar esta propiedad cuando el recurso secundario se declara fuera del recurso primario. Para obtener más información, consulte recurso secundario fuera del recurso primario. |
Nombre simbólico del recurso de tipo: servidores |
| properties | Propiedades que representan el recurso. | DatabaseProperties |
| tags | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
DatabaseProperties
| Nombre | Descripción | Valor | | ---- | ----------- | ------------ | | intercalación | Intercalación de la base de datos. Si createMode no es Default, este valor se omite. | string | | createMode | Especifica el modo de creación de la base de datos.
Valor predeterminado: creación normal de la base de datos.
Copiar: crea una base de datos como una copia de una base de datos existente. sourceDatabaseId debe especificarse como identificador de recurso de la base de datos de origen.
OnlineSecondary/NonReadableSecondary: crea una base de datos como una réplica secundaria (legible o no legible) de una base de datos existente. sourceDatabaseId debe especificarse como identificador de recurso de la base de datos principal existente.
PointInTimeRestore: crea una base de datos restaurando una copia de seguridad a un momento dado de una base de datos existente. sourceDatabaseId debe especificarse como identificador de recurso de la base de datos existente y se debe especificar restorePointInTime.
Recuperación: crea una base de datos restaurando una copia de seguridad con replicación geográfica. sourceDatabaseId debe especificarse como identificador de recurso de base de datos recuperable que se va a restaurar.
Restaurar: crea una base de datos restaurando una copia de seguridad de una base de datos eliminada. sourceDatabaseId debe especificarse. Si sourceDatabaseId es el identificador de recurso original de la base de datos, se debe especificar sourceDatabaseDeletionDate. De lo contrario, sourceDatabaseId debe ser el identificador de recurso de base de datos descartable restaurable y sourceDatabaseDeletionDate se omite. restorePointInTime también se puede especificar para restaurar desde un momento dado anterior.
RestoreLongTermRetentionBackup: crea una base de datos restaurando desde un almacén de retención a largo plazo. recoveryServicesRecoveryPointResourceId debe especificarse como identificador de recurso de punto de recuperación.
Copy, NonReadableSecondary, OnlineSecondary y RestoreLongTermRetentionBackup no se admiten para la edición DataWarehouse. | 'Copia'
'Default'
'NonReadableSecondary'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreLongTermRetentionBackup' | | edición | Edición de la base de datos. La enumeración DatabaseEditions contiene todas las ediciones válidas. Si createMode es NonReadableSecondary o OnlineSecondary, este valor se omite.
La lista de SKU puede variar según la región y la oferta de soporte técnico. Para determinar los SKUs (incluyendo el nombre, nivel/edición, familia y capacidad) que están disponibles para tu suscripción en una región Azure, utiliza la API REST Capabilities_ListByLocation o uno de los siguientes comandos:
azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />PowerShell
<ubicación de 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 <location> -o table<br />
```powershell
<ubicación de Get-AzSqlServerServiceObjective -Location>
```` | "Básico"
'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 | Condicional. Si createMode es PointInTimeRestore, se requiere este valor. Si createMode es Restore, este valor es opcional. Especifica el momento dado (ISO8601 formato) de la base de datos de origen que se restaurará para crear la nueva base de datos. Debe ser mayor o igual que el valor más antiguo de La base de datos de origenRestoreDate. | string | | sampleName | Indica el nombre del esquema de ejemplo que se va a aplicar al crear esta base de datos. Si createMode no es Default, este valor se omite. No se admite para la edición DataWarehouse. | 'AdventureWorksLT' | | sourceDatabaseDeletionDate | Condicional. Si createMode es Restore y sourceDatabaseId es el identificador de recurso original de la base de datos eliminada cuando existía (en lugar de su identificador de base de datos restaurable actual), se requiere este valor. Especifica la hora en que se eliminó la base de datos. | string | | sourceDatabaseId | Condicional. Si createMode es Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery o Restore, se requiere este valor. Especifica el identificador de recurso de la base de datos de origen. Si createMode es NonReadableSecondary o OnlineSecondary, el nombre de la base de datos de origen debe ser el mismo que la nueva base de datos que se va a crear. | string | | zoneRedundant | Si esta base de datos es con redundancia de zona, lo que significa que las réplicas de esta base de datos se distribuirán entre varias zonas de disponibilidad. | Bool |
TrackedResourceTags
| Name | Description | Value |
|---|
Ejemplos de uso
Muestras de Bicep
Un ejemplo básico de implementación 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
Los siguientes módulos verificados
| Módulo | Description |
|---|---|
| Azure SQL Database | AVM Resource Module for Azure SQL Database |
Azure Quickstart Samples
Las siguientes plantillas de inicio rápido Azure contienen Bicep ejemplos para desplegar este tipo de recurso.
| Archivo Bicep | Description |
|---|---|
| Azure SQL Server con Auditoría redactada a Log Analytics | Esta plantilla te permite desplegar un servidor Azure SQL con Auditoría activada para escribir registros de auditoría en Log Analytics (espacio de trabajo OMS) |
| Crear un SQL Server y una base de datos | Esta plantilla le permite crear SQL Database y Server. |
| Pool SQL dedicado con cifrado transparente | Crea un SQL Server y un pool SQL dedicado (anteriormente SQL DW) con Cifrado de datos transparente. |
| Despliega la analítica deportiva en Azure Arquitectura | Crea una cuenta de almacenamiento de Azure con ADLS Gen 2 habilitada, una instancia de Azure Data Factory con servicios vinculados para la cuenta de almacenamiento (y la Azure SQL Database si está desplegada), y una instancia de Azure Databricks. AAD identity for the user deploying the template and the managed identity for the ADF instance will be granted the Storage Blob Data Contributor role on the storage account. También hay opciones para desplegar una instancia de Azure Key Vault, una Azure SQL Database y un Azure Event Hub (para casos de uso en streaming). Cuando se despliega un Azure Key Vault, la identidad gestionada por la fábrica de datos y la identidad AAD del usuario que despliega la plantilla recibirán el rol de usuario de Key Vault Secrets. |
| Esta plantilla muestra cómo crear un endpoint privado que apunta a Azure SQL Server | |
| Provisiona una aplicación web con una base de datos SQL | Esta plantilla aprovisiona una aplicación web, una instancia de SQL Database, la configuración de escalabilidad automática, las reglas de alerta y App Insights. Configura una cadena de conexión en la aplicación web para la base de datos. |
| Sonarqube Docker Web App en Linux con Azure SQL | Esta plantilla despliega Sonarqube en un contenedor Linux de Azure App Service web usando la imagen oficial de Sonarqube y respaldado por un Azure SQL Server. |
| Aplicación Web con Identidad Gestionada, SQL Server y ΑΙ | Ejemplo sencillo para desplegar infraestructura de Azure para app + datos + identidad gestionada + monitorización |
Definición de recursos de plantilla de ARM
El tipo de recurso servers/databases se puede implementar con operaciones destinadas a:
- grupos de recursos: consulte comandos de implementación de grupos de recursos
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un Microsoft. Recurso SQL/servidores/bases de datos, añade el siguiente JSON a tu plantilla.
{
"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"
}
}
Valores de propiedad
Microsoft. SQL/servidores/bases de datos
| Name | Description | Value |
|---|---|---|
| apiVersion | La versión de api | '2014-04-01' |
| location | Ubicación del recurso. | string (obligatorio) |
| name | El nombre del recurso | string (obligatorio) |
| properties | Propiedades que representan el recurso. | DatabaseProperties |
| tags | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
| type | El tipo de recurso | 'Microsoft. Sql/servidores/bases de datos |
DatabaseProperties
| Nombre | Descripción | Valor | | ---- | ----------- | ------------ | | intercalación | Intercalación de la base de datos. Si createMode no es Default, este valor se omite. | string | | createMode | Especifica el modo de creación de la base de datos.
Valor predeterminado: creación normal de la base de datos.
Copiar: crea una base de datos como una copia de una base de datos existente. sourceDatabaseId debe especificarse como identificador de recurso de la base de datos de origen.
OnlineSecondary/NonReadableSecondary: crea una base de datos como una réplica secundaria (legible o no legible) de una base de datos existente. sourceDatabaseId debe especificarse como identificador de recurso de la base de datos principal existente.
PointInTimeRestore: crea una base de datos restaurando una copia de seguridad a un momento dado de una base de datos existente. sourceDatabaseId debe especificarse como identificador de recurso de la base de datos existente y se debe especificar restorePointInTime.
Recuperación: crea una base de datos restaurando una copia de seguridad con replicación geográfica. sourceDatabaseId debe especificarse como identificador de recurso de base de datos recuperable que se va a restaurar.
Restaurar: crea una base de datos restaurando una copia de seguridad de una base de datos eliminada. sourceDatabaseId debe especificarse. Si sourceDatabaseId es el identificador de recurso original de la base de datos, se debe especificar sourceDatabaseDeletionDate. De lo contrario, sourceDatabaseId debe ser el identificador de recurso de base de datos descartable restaurable y sourceDatabaseDeletionDate se omite. restorePointInTime también se puede especificar para restaurar desde un momento dado anterior.
RestoreLongTermRetentionBackup: crea una base de datos restaurando desde un almacén de retención a largo plazo. recoveryServicesRecoveryPointResourceId debe especificarse como identificador de recurso de punto de recuperación.
Copy, NonReadableSecondary, OnlineSecondary y RestoreLongTermRetentionBackup no se admiten para la edición DataWarehouse. | 'Copia'
'Default'
'NonReadableSecondary'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreLongTermRetentionBackup' | | edición | Edición de la base de datos. La enumeración DatabaseEditions contiene todas las ediciones válidas. Si createMode es NonReadableSecondary o OnlineSecondary, este valor se omite.
La lista de SKU puede variar según la región y la oferta de soporte técnico. Para determinar los SKUs (incluyendo el nombre, nivel/edición, familia y capacidad) que están disponibles para tu suscripción en una región Azure, utiliza la API REST Capabilities_ListByLocation o uno de los siguientes comandos:
azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />PowerShell
<ubicación de 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 <location> -o table<br />
```powershell
<ubicación de Get-AzSqlServerServiceObjective -Location>
```` | "Básico"
'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 | Condicional. Si createMode es PointInTimeRestore, se requiere este valor. Si createMode es Restore, este valor es opcional. Especifica el momento dado (ISO8601 formato) de la base de datos de origen que se restaurará para crear la nueva base de datos. Debe ser mayor o igual que el valor más antiguo de La base de datos de origenRestoreDate. | string | | sampleName | Indica el nombre del esquema de ejemplo que se va a aplicar al crear esta base de datos. Si createMode no es Default, este valor se omite. No se admite para la edición DataWarehouse. | 'AdventureWorksLT' | | sourceDatabaseDeletionDate | Condicional. Si createMode es Restore y sourceDatabaseId es el identificador de recurso original de la base de datos eliminada cuando existía (en lugar de su identificador de base de datos restaurable actual), se requiere este valor. Especifica la hora en que se eliminó la base de datos. | string | | sourceDatabaseId | Condicional. Si createMode es Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery o Restore, se requiere este valor. Especifica el identificador de recurso de la base de datos de origen. Si createMode es NonReadableSecondary o OnlineSecondary, el nombre de la base de datos de origen debe ser el mismo que la nueva base de datos que se va a crear. | string | | zoneRedundant | Si esta base de datos es con redundancia de zona, lo que significa que las réplicas de esta base de datos se distribuirán entre varias zonas de disponibilidad. | Bool |
TrackedResourceTags
| Name | Description | Value |
|---|
Ejemplos de uso
Plantillas de inicio rápido de Azure
Las siguientes plantillas Azure Quickstart despliegan este tipo de recurso.
| Template | Description |
|---|---|
|
Azure SQL Server con Auditoría redactada a Log Analytics |
Esta plantilla te permite desplegar un servidor Azure SQL con Auditoría activada para escribir registros de auditoría en Log Analytics (espacio de trabajo OMS) |
|
Crear un SQL Server y una base de datos |
Esta plantilla le permite crear SQL Database y Server. |
|
Pool SQL dedicado con cifrado transparente |
Crea un SQL Server y un pool SQL dedicado (anteriormente SQL DW) con Cifrado de datos transparente. |
|
Despliega un nuevo SQL Elastic Pool |
Esta plantilla te permite desplegar un nuevo SQL Elastic Pool con su nuevo SQL Server asociado y nuevas bases de datos SQL para asignarle. |
|
Despliega la analítica deportiva en Azure Arquitectura |
Crea una cuenta de almacenamiento de Azure con ADLS Gen 2 habilitada, una instancia de Azure Data Factory con servicios vinculados para la cuenta de almacenamiento (y la Azure SQL Database si está desplegada), y una instancia de Azure Databricks. AAD identity for the user deploying the template and the managed identity for the ADF instance will be granted the Storage Blob Data Contributor role on the storage account. También hay opciones para desplegar una instancia de Azure Key Vault, una Azure SQL Database y un Azure Event Hub (para casos de uso en streaming). Cuando se despliega un Azure Key Vault, la identidad gestionada por la fábrica de datos y la identidad AAD del usuario que despliega la plantilla recibirán el rol de usuario de Key Vault Secrets. |
|
HDInsight con Ambari personalizada + base de datos Hive Metastore en VNET |
Esta plantilla permite crear un clúster de HDInsight en una red virtual existente con una nueva base de datos SQL que actúa como base de datos de Ambari personalizada y Metastore de Hive. Debe tener una instancia de SQL Sever, una cuenta de almacenamiento y una red virtual existentes. |
| Esta plantilla muestra cómo crear un endpoint privado que apunta a Azure SQL Server | |
|
Provisiona una aplicación web con una base de datos SQL |
Esta plantilla aprovisiona una aplicación web, una instancia de SQL Database, la configuración de escalabilidad automática, las reglas de alerta y App Insights. Configura una cadena de conexión en la aplicación web para la base de datos. |
|
Escritorio remoto Servicios con Alta Disponibilidad |
Este código de ejemplo de plantilla ARM desplegará un laboratorio de la Colección de Sesiones 2019 Escritorio remoto Services 2019 con alta disponibilidad. El objetivo es desplegar una solución totalmente redundante y altamente disponible para Escritorio remoto Services, utilizando Windows Server 2019. |
|
Sonarqube Docker Web App en Linux con Azure SQL |
Esta plantilla despliega Sonarqube en un contenedor Linux de Azure App Service web usando la imagen oficial de Sonarqube y respaldado por un Azure SQL Server. |
|
Aplicación Web con Identidad Gestionada, SQL Server y ΑΙ |
Ejemplo sencillo para desplegar infraestructura de Azure para app + datos + identidad gestionada + monitorización |
|
WebApp consumiendo un Azure SQL Endpoint Privado |
Esta plantilla muestra cómo crear una aplicación web que consuma un endpoint privado que apunta a Azure SQL Server |
Definición de recursos de Terraform (proveedor AzAPI)
El tipo de recurso servers/databases se puede implementar con operaciones destinadas a:
- Grupos de recursos
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un Microsoft. Recurso SQL/servidores/bases de datos, añade el siguiente Terraform a tu plantilla.
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
}
}
}
Valores de propiedad
Microsoft. SQL/servidores/bases de datos
| Name | Description | Value |
|---|---|---|
| location | Ubicación del recurso. | string (obligatorio) |
| name | El nombre del recurso | string (obligatorio) |
| parent_id | Identificador del recurso que es el elemento primario de este recurso. | Identificador del recurso de tipo: servidores |
| properties | Propiedades que representan el recurso. | DatabaseProperties |
| tags | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. |
| type | El tipo de recurso | "Microsoft. SQL/servidores/databases@2014-04-01" |
DatabaseProperties
| Nombre | Descripción | Valor | | ---- | ----------- | ------------ | | intercalación | Intercalación de la base de datos. Si createMode no es Default, este valor se omite. | string | | createMode | Especifica el modo de creación de la base de datos.
Valor predeterminado: creación normal de la base de datos.
Copiar: crea una base de datos como una copia de una base de datos existente. sourceDatabaseId debe especificarse como identificador de recurso de la base de datos de origen.
OnlineSecondary/NonReadableSecondary: crea una base de datos como una réplica secundaria (legible o no legible) de una base de datos existente. sourceDatabaseId debe especificarse como identificador de recurso de la base de datos principal existente.
PointInTimeRestore: crea una base de datos restaurando una copia de seguridad a un momento dado de una base de datos existente. sourceDatabaseId debe especificarse como identificador de recurso de la base de datos existente y se debe especificar restorePointInTime.
Recuperación: crea una base de datos restaurando una copia de seguridad con replicación geográfica. sourceDatabaseId debe especificarse como identificador de recurso de base de datos recuperable que se va a restaurar.
Restaurar: crea una base de datos restaurando una copia de seguridad de una base de datos eliminada. sourceDatabaseId debe especificarse. Si sourceDatabaseId es el identificador de recurso original de la base de datos, se debe especificar sourceDatabaseDeletionDate. De lo contrario, sourceDatabaseId debe ser el identificador de recurso de base de datos descartable restaurable y sourceDatabaseDeletionDate se omite. restorePointInTime también se puede especificar para restaurar desde un momento dado anterior.
RestoreLongTermRetentionBackup: crea una base de datos restaurando desde un almacén de retención a largo plazo. recoveryServicesRecoveryPointResourceId debe especificarse como identificador de recurso de punto de recuperación.
Copy, NonReadableSecondary, OnlineSecondary y RestoreLongTermRetentionBackup no se admiten para la edición DataWarehouse. | 'Copia'
'Default'
'NonReadableSecondary'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreLongTermRetentionBackup' | | edición | Edición de la base de datos. La enumeración DatabaseEditions contiene todas las ediciones válidas. Si createMode es NonReadableSecondary o OnlineSecondary, este valor se omite.
La lista de SKU puede variar según la región y la oferta de soporte técnico. Para determinar los SKUs (incluyendo el nombre, nivel/edición, familia y capacidad) que están disponibles para tu suscripción en una región Azure, utiliza la API REST Capabilities_ListByLocation o uno de los siguientes comandos:
azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />PowerShell
<ubicación de 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 <location> -o table<br />
```powershell
<ubicación de Get-AzSqlServerServiceObjective -Location>
```` | "Básico"
'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 | Condicional. Si createMode es PointInTimeRestore, se requiere este valor. Si createMode es Restore, este valor es opcional. Especifica el momento dado (ISO8601 formato) de la base de datos de origen que se restaurará para crear la nueva base de datos. Debe ser mayor o igual que el valor más antiguo de La base de datos de origenRestoreDate. | string | | sampleName | Indica el nombre del esquema de ejemplo que se va a aplicar al crear esta base de datos. Si createMode no es Default, este valor se omite. No se admite para la edición DataWarehouse. | 'AdventureWorksLT' | | sourceDatabaseDeletionDate | Condicional. Si createMode es Restore y sourceDatabaseId es el identificador de recurso original de la base de datos eliminada cuando existía (en lugar de su identificador de base de datos restaurable actual), se requiere este valor. Especifica la hora en que se eliminó la base de datos. | string | | sourceDatabaseId | Condicional. Si createMode es Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery o Restore, se requiere este valor. Especifica el identificador de recurso de la base de datos de origen. Si createMode es NonReadableSecondary o OnlineSecondary, el nombre de la base de datos de origen debe ser el mismo que la nueva base de datos que se va a crear. | string | | zoneRedundant | Si esta base de datos es con redundancia de zona, lo que significa que las réplicas de esta base de datos se distribuirán entre varias zonas de disponibilidad. | Bool |
TrackedResourceTags
| Name | Description | Value |
|---|
Ejemplos de uso
Ejemplos de Terraform
Un ejemplo básico de implementación 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 = ["*"]
}
Un ejemplo básico de implementación 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 = ["*"]
}