Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
- Latest
- 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
Definição de recurso do Bicep
O tipo de recurso servidores/bancos de dados pode ser implantado com operações direcionadas:
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Formato de recurso
Para criar um recurso Microsoft.Sql/servers/databases, adicione o Bicep a seguir ao seu modelo.
resource symbolicname 'Microsoft.Sql/servers/databases@2024-11-01-preview' = {
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'
}
}
Valores de propriedade
Microsoft.Sql/servers/databases
| Name | Description | Value |
|---|---|---|
| identidade | A identidade do Azure Active Directory do banco de dados. | DatabaseIdentity |
| local | Local do recurso. | cadeia de caracteres (obrigatório) |
| name | O nome do recurso | cadeia de caracteres (obrigatório) |
| pai | No Bicep, você pode especificar o recurso pai para um recurso filho. Você só precisa adicionar essa propriedade quando o recurso filho é declarado fora do recurso pai. Para obter mais informações, consulte recurso filho fora do recurso pai. |
Nome simbólico para o recurso do tipo: servidores |
| properties | Propriedades do recurso. | DatabaseProperties |
| sku | A SKU do banco de dados. A lista de SKUs pode variar de acordo com a região e a oferta de suporte. Para determinar os SKUs (incluindo o nome da SKU, camada/edição, família e capacidade) que estão disponíveis para sua assinatura em uma região do Azure, use a API REST Capabilities_ListByLocation ou um dos seguintes comandos:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />Casca de energiaGet-AzSqlServerServiceObjective -Location <local> ```` |
Sku |
| tags | Etiquetas de recursos | Dicionário de nomes e valores de tags. Consulte Marcas em modelos |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| tipo | O tipo de identidade | 'None' 'UserAssigned' |
| userAssignedIdentities | As IDs de recurso das identidades atribuídas pelo usuário a serem usadas | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseKey
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Tempo em minutos após o qual o banco de dados é pausado automaticamente. Um valor de -1 significa que a pausa automática está desabilitada | int |
| availabilityZone | Especifica a zona de disponibilidade à qual o banco de dados está fixado. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Ordenação do catálogo de metadados. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| agrupamento | A ordenação do banco de dados. | cadeia |
| createMode | Especifica o modo de criação de banco de dados. Padrão: criação regular de banco de dados. Cópia: cria um banco de dados como uma cópia de um banco de dados existente. sourceDatabaseId deve ser especificado como a ID do recurso do banco de dados de origem. Secundário: cria um banco de dados como uma réplica secundária de um banco de dados existente. sourceDatabaseId deve ser especificado como a ID do recurso do banco de dados primário existente. PointInTimeRestore: cria um banco de dados restaurando um backup pontual de um banco de dados existente. sourceDatabaseId deve ser especificado como a ID do recurso do banco de dados existente e restorePointInTime deve ser especificado. Recuperação: cria um banco de dados restaurando um backup replicado geograficamente. sourceDatabaseId deve ser especificado como a ID do recurso de banco de dados recuperável para restaurar. Restauração: cria um banco de dados restaurando um backup de um banco de dados excluído. sourceDatabaseId deve ser especificado. Se sourceDatabaseId for a ID de recurso original do banco de dados, sourceDatabaseDeletionDate deverá ser especificado. Caso contrário, sourceDatabaseId deve ser a ID do recurso de banco de dados descartado restaurável e sourceDatabaseDeletionDate será ignorado. restorePointInTime também pode ser especificado para restaurar de um ponto anterior no tempo. RestoreLongTermRetentionBackup: cria um banco de dados restaurando de um cofre de retenção de longo prazo. recoveryServicesRecoveryPointResourceId deve ser especificado como a ID do recurso do ponto de recuperação. Não há suporte para Cópia, Secundária e RestoreLongTermRetentionBackup para a edição DataWarehouse. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | O identificador de recurso do pool elástico que contém esse banco de dados. | cadeia |
| encryptionProtector | O URI do cofre de chaves do azure do banco de dados se ele estiver configurado por Chaves Gerenciadas pelo Cliente de Banco de Dados. | cadeia |
| encryptionProtectorAutoRotation | O sinalizador para habilitar ou desabilitar a rotação automática da chave AKV do protetor de criptografia de banco de dados. | bool |
| federatedClientId | A ID do cliente usada para o cenário de CMK entre locatários por banco de dados | string Constraints: Comprimento mínimo = 36 Comprimento máximo = 36 Padrão = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Especifica o comportamento quando os limites gratuitos mensais são esgotados para o banco de dados gratuito. AutoPause: o banco de dados será pausado automaticamente após o esgotamento dos limites gratuitos para o restante do mês. BillForUsage: O banco de dados continuará online após o esgotamento dos limites gratuitos e qualquer excedente será cobrado. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | O número de réplicas secundárias associadas ao banco de dados Business Critical, Premium ou Hyperscale Edition que são usadas para fornecer alta disponibilidade. Não aplicável a um banco de dados de Hiperescala em um pool elástico. | int |
| isLedgerOn | Se esse banco de dados é ou não um banco de dados do razão, o que significa que todas as tabelas no banco de dados são tabelas do razão. Observação: o valor dessa propriedade não pode ser alterado após a criação do banco de dados. | bool |
| keys | As IDs de recurso das identidades atribuídas pelo usuário a serem usadas | DatabasePropertiesKeys |
| licenseType | O tipo de licença a ser aplicado a esse banco de dados.
LicenseIncluded se você precisar de uma licença ou BasePrice se tiver uma licença e estiver qualificado para o Benefício Híbrido do Azure. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | O identificador de recurso do backup de retenção de longo prazo associado à operação de criação desse banco de dados. | cadeia |
| maintenanceConfigurationId | ID de configuração de manutenção atribuída ao banco de dados. Essa configuração define o período em que as atualizações de manutenção ocorrerão. | cadeia |
| manualCutover | Se a substituição manual controlada pelo cliente precisa ou não ser feita durante a operação Atualizar Banco de Dados para a camada de Hiperescala. Essa propriedade só é aplicável ao dimensionar o banco de dados da camada Business Critical/General Purpose/Premium/Standard para a camada de Hiperescala. Quando manualCutover for especificado, a operação de dimensionamento aguardará a entrada do usuário para disparar a substituição para o banco de dados da Hiperescala. Para disparar a substituição, forneça o parâmetro 'performCutover' quando a operação De dimensionamento estiver em estado de espera. |
bool |
| maxSizeBytes | O tamanho máximo do banco de dados expresso em bytes. | int |
| minCapacity | Capacidade mínima que o banco de dados sempre alocará, se não estiver em pausa | int |
| performCutover | Para disparar a substituição manual controlada pelo cliente durante o estado de espera enquanto a operação de dimensionamento está em andamento. Esse parâmetro de propriedade só é aplicável para operações de dimensionamento iniciadas junto com o parâmetro 'manualCutover'. Essa propriedade só é aplicável quando o dimensionamento do banco de dados da camada Business Critical/General Purpose/Premium/Standard para a camada de Hiperescala já está em andamento. Quando performCutover for especificado, a operação de dimensionamento disparará a substituição e executará a alteração de função no banco de dados da Hiperescala. |
bool |
| preferredEnclaveType | Tipo de enclave solicitado no banco de dados, ou seja, enclaves padrão ou VBS. | 'Default' 'VBS' |
| readScale | O estado do roteamento somente leitura. Se habilitada, as conexões que têm a intenção do aplicativo definida como readonly na cadeia de conexão podem ser roteadas para uma réplica secundária somente leitura na mesma região. Não aplicável a um banco de dados de Hiperescala em um pool elástico. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | O identificador de recurso do banco de dados recuperável associado à operação de criação desse banco de dados. | cadeia |
| recoveryServicesRecoveryPointId | O identificador de recurso do ponto de recuperação associado à operação de criação desse banco de dados. | cadeia |
| requestedBackupStorageRedundancy | O tipo de conta de armazenamento a ser usado para armazenar backups para esse banco de dados. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | O identificador de recurso do banco de dados restaurador descartado associado à operação de criação desse banco de dados. | cadeia |
| restorePointInTime | Especifica o ponto no tempo (formato ISO8601) do banco de dados de origem que será restaurado para criar o novo banco de dados. | cadeia |
| sampleName | O nome do esquema de exemplo a ser aplicado ao criar esse banco de dados. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | O tipo secundário do banco de dados se ele for secundário. Os valores válidos são Geo, Named e Standby. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Especifica a hora em que o banco de dados foi excluído. | cadeia |
| sourceDatabaseId | O identificador de recurso do banco de dados de origem associado à operação de criação deste banco de dados. | cadeia |
| sourceResourceId | O identificador de recurso da origem associada à operação de criação deste banco de dados. Essa propriedade só tem suporte para a edição DataWarehouse e permite restaurar entre assinaturas. Quando sourceResourceId é especificado, sourceDatabaseId, recoverableDatabaseId, restoreableDroppedDatabaseId e sourceDatabaseDeletionDate não devem ser especificados e CreateMode deve ser PointInTimeRestore, Restore ou Recover. Quando createMode for PointInTimeRestore, sourceResourceId deve ser a ID do recurso do banco de dados existente ou do pool de sql existente, e restorePointInTime deve ser especificado. Quando createMode é Restore, sourceResourceId deve ser a ID do recurso do banco de dados descartado restaurável ou do pool de sql descartado restaurável. Quando createMode for Recover, sourceResourceId deverá ser a ID do recurso do banco de dados recuperável ou do pool de sql recuperável. Quando a assinatura de origem pertence a um locatário diferente da assinatura de destino, o cabeçalho "x-ms-authorization-auxiliary" deve conter o token de autenticação para o locatário de origem. Para obter mais detalhes sobre o cabeçalho "x-ms-authorization-auxiliary", consulte /azure/azure-resource-manager/management/authenticate-multi-tenant |
cadeia |
| useFreeLimit | Se o banco de dados usa ou não limites mensais gratuitos. Permitido em um banco de dados em uma assinatura. | bool |
| zoneRedundant | Se esse banco de dados é ou não redundante por zona, o que significa que as réplicas desse banco de dados serão distribuídas entre várias zonas de disponibilidade. | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacidade | Capacidade da SKU específica. | int |
| family | Se o serviço tiver diferentes gerações de hardware, para a mesma SKU, isso poderá ser capturado aqui. | cadeia |
| name | O nome da SKU, normalmente, uma letra + código de número, por exemplo, P3. | cadeia de caracteres (obrigatório) |
| size | Tamanho da SKU específica | cadeia |
| nível | A camada ou edição da SKU específica, por exemplo, Basic, Premium. | cadeia |
TrackedResourceTags
| Name | Description | Value |
|---|
Exemplos de uso
Exemplos de Início Rápido do Azure
Os modelos de Início Rápido do Azure a seguir contêm exemplos de Bicep para implantar esse tipo de recurso.
| Arquivo Bicep | Description |
|---|---|
| SQL Server do Azure com auditoria gravada no Log Analytics | Esse modelo permite implantar um SQL Server do Azure com Auditoria habilitada para gravar logs de auditoria no Log Analytics (workspace do OMS) |
| criar um SQL Server e um banco de dados | Esse modelo permite que você crie o Banco de Dados SQL e o Servidor. |
| pool de SQL dedicado com o Transparent Encryption | Cria um SQL Server e um pool de SQL dedicado (antigo SQL DW) com Transparent Data Encryption. |
| implantar a Análise Esportiva no de Arquitetura do Azure | Cria uma conta de armazenamento do Azure com o ADLS Gen 2 habilitado, uma instância do Azure Data Factory com serviços vinculados para a conta de armazenamento (um Banco de Dados SQL do Azure, se implantado) e uma instância do Azure Databricks. A identidade do AAD para o usuário que implanta o modelo e a identidade gerenciada para a instância do ADF receberá a função colaborador de dados de blob de armazenamento na conta de armazenamento. Também há opções para implantar uma instância do Azure Key Vault, um Banco de Dados SQL do Azure e um Hub de Eventos do Azure (para casos de uso de streaming). Quando um Azure Key Vault é implantado, a identidade gerenciada do data factory e a identidade do AAD para o usuário que implanta o modelo receberão a função de Usuário de Segredos do Key Vault. |
| exemplo de ponto de extremidade privado | Este modelo mostra como criar um ponto de extremidade privado apontando para o SQL Server do Azure |
| provisionar um aplicativo Web com um banco de dados SQL | Esse modelo provisiona um aplicativo Web, um Banco de Dados SQL, configurações de Dimensionamento Automático, regras de alerta e Insights do Aplicativo. Ele configura uma cadeia de conexão no aplicativo Web para o banco de dados. |
| Sonarqube Docker Web App no Linux com o SQL do Azure | Este modelo implanta o Sonarqube em um contêiner do Linux do aplicativo Web do Serviço de Aplicativo do Azure usando a imagem oficial do Sonarqube e apoiado por um SQL Server do Azure. |
| Aplicativo Web com Identidade Gerenciada, SQL Server e ΑΙ | Exemplo simples para implantar a infraestrutura do Azure para aplicativo + dados + identidade gerenciada + monitoramento |
Definição de recurso de modelo do ARM
O tipo de recurso servidores/bancos de dados pode ser implantado com operações direcionadas:
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Formato de recurso
Para criar um recurso Microsoft.Sql/servers/databases, adicione o JSON a seguir ao modelo.
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2024-11-01-preview",
"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"
}
}
Valores de propriedade
Microsoft.Sql/servers/databases
| Name | Description | Value |
|---|---|---|
| apiVersion | A versão da API | '2024-11-01-preview' |
| identidade | A identidade do Azure Active Directory do banco de dados. | DatabaseIdentity |
| local | Local do recurso. | cadeia de caracteres (obrigatório) |
| name | O nome do recurso | cadeia de caracteres (obrigatório) |
| properties | Propriedades do recurso. | DatabaseProperties |
| sku | A SKU do banco de dados. A lista de SKUs pode variar de acordo com a região e a oferta de suporte. Para determinar os SKUs (incluindo o nome da SKU, camada/edição, família e capacidade) que estão disponíveis para sua assinatura em uma região do Azure, use a API REST Capabilities_ListByLocation ou um dos seguintes comandos:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />Casca de energiaGet-AzSqlServerServiceObjective -Location <local> ```` |
Sku |
| tags | Etiquetas de recursos | Dicionário de nomes e valores de tags. Consulte Marcas em modelos |
| tipo | O tipo de recurso | 'Microsoft.Sql/servers/databases' |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| tipo | O tipo de identidade | 'None' 'UserAssigned' |
| userAssignedIdentities | As IDs de recurso das identidades atribuídas pelo usuário a serem usadas | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseKey
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Tempo em minutos após o qual o banco de dados é pausado automaticamente. Um valor de -1 significa que a pausa automática está desabilitada | int |
| availabilityZone | Especifica a zona de disponibilidade à qual o banco de dados está fixado. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Ordenação do catálogo de metadados. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| agrupamento | A ordenação do banco de dados. | cadeia |
| createMode | Especifica o modo de criação de banco de dados. Padrão: criação regular de banco de dados. Cópia: cria um banco de dados como uma cópia de um banco de dados existente. sourceDatabaseId deve ser especificado como a ID do recurso do banco de dados de origem. Secundário: cria um banco de dados como uma réplica secundária de um banco de dados existente. sourceDatabaseId deve ser especificado como a ID do recurso do banco de dados primário existente. PointInTimeRestore: cria um banco de dados restaurando um backup pontual de um banco de dados existente. sourceDatabaseId deve ser especificado como a ID do recurso do banco de dados existente e restorePointInTime deve ser especificado. Recuperação: cria um banco de dados restaurando um backup replicado geograficamente. sourceDatabaseId deve ser especificado como a ID do recurso de banco de dados recuperável para restaurar. Restauração: cria um banco de dados restaurando um backup de um banco de dados excluído. sourceDatabaseId deve ser especificado. Se sourceDatabaseId for a ID de recurso original do banco de dados, sourceDatabaseDeletionDate deverá ser especificado. Caso contrário, sourceDatabaseId deve ser a ID do recurso de banco de dados descartado restaurável e sourceDatabaseDeletionDate será ignorado. restorePointInTime também pode ser especificado para restaurar de um ponto anterior no tempo. RestoreLongTermRetentionBackup: cria um banco de dados restaurando de um cofre de retenção de longo prazo. recoveryServicesRecoveryPointResourceId deve ser especificado como a ID do recurso do ponto de recuperação. Não há suporte para Cópia, Secundária e RestoreLongTermRetentionBackup para a edição DataWarehouse. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | O identificador de recurso do pool elástico que contém esse banco de dados. | cadeia |
| encryptionProtector | O URI do cofre de chaves do azure do banco de dados se ele estiver configurado por Chaves Gerenciadas pelo Cliente de Banco de Dados. | cadeia |
| encryptionProtectorAutoRotation | O sinalizador para habilitar ou desabilitar a rotação automática da chave AKV do protetor de criptografia de banco de dados. | bool |
| federatedClientId | A ID do cliente usada para o cenário de CMK entre locatários por banco de dados | string Constraints: Comprimento mínimo = 36 Comprimento máximo = 36 Padrão = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Especifica o comportamento quando os limites gratuitos mensais são esgotados para o banco de dados gratuito. AutoPause: o banco de dados será pausado automaticamente após o esgotamento dos limites gratuitos para o restante do mês. BillForUsage: O banco de dados continuará online após o esgotamento dos limites gratuitos e qualquer excedente será cobrado. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | O número de réplicas secundárias associadas ao banco de dados Business Critical, Premium ou Hyperscale Edition que são usadas para fornecer alta disponibilidade. Não aplicável a um banco de dados de Hiperescala em um pool elástico. | int |
| isLedgerOn | Se esse banco de dados é ou não um banco de dados do razão, o que significa que todas as tabelas no banco de dados são tabelas do razão. Observação: o valor dessa propriedade não pode ser alterado após a criação do banco de dados. | bool |
| keys | As IDs de recurso das identidades atribuídas pelo usuário a serem usadas | DatabasePropertiesKeys |
| licenseType | O tipo de licença a ser aplicado a esse banco de dados.
LicenseIncluded se você precisar de uma licença ou BasePrice se tiver uma licença e estiver qualificado para o Benefício Híbrido do Azure. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | O identificador de recurso do backup de retenção de longo prazo associado à operação de criação desse banco de dados. | cadeia |
| maintenanceConfigurationId | ID de configuração de manutenção atribuída ao banco de dados. Essa configuração define o período em que as atualizações de manutenção ocorrerão. | cadeia |
| manualCutover | Se a substituição manual controlada pelo cliente precisa ou não ser feita durante a operação Atualizar Banco de Dados para a camada de Hiperescala. Essa propriedade só é aplicável ao dimensionar o banco de dados da camada Business Critical/General Purpose/Premium/Standard para a camada de Hiperescala. Quando manualCutover for especificado, a operação de dimensionamento aguardará a entrada do usuário para disparar a substituição para o banco de dados da Hiperescala. Para disparar a substituição, forneça o parâmetro 'performCutover' quando a operação De dimensionamento estiver em estado de espera. |
bool |
| maxSizeBytes | O tamanho máximo do banco de dados expresso em bytes. | int |
| minCapacity | Capacidade mínima que o banco de dados sempre alocará, se não estiver em pausa | int |
| performCutover | Para disparar a substituição manual controlada pelo cliente durante o estado de espera enquanto a operação de dimensionamento está em andamento. Esse parâmetro de propriedade só é aplicável para operações de dimensionamento iniciadas junto com o parâmetro 'manualCutover'. Essa propriedade só é aplicável quando o dimensionamento do banco de dados da camada Business Critical/General Purpose/Premium/Standard para a camada de Hiperescala já está em andamento. Quando performCutover for especificado, a operação de dimensionamento disparará a substituição e executará a alteração de função no banco de dados da Hiperescala. |
bool |
| preferredEnclaveType | Tipo de enclave solicitado no banco de dados, ou seja, enclaves padrão ou VBS. | 'Default' 'VBS' |
| readScale | O estado do roteamento somente leitura. Se habilitada, as conexões que têm a intenção do aplicativo definida como readonly na cadeia de conexão podem ser roteadas para uma réplica secundária somente leitura na mesma região. Não aplicável a um banco de dados de Hiperescala em um pool elástico. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | O identificador de recurso do banco de dados recuperável associado à operação de criação desse banco de dados. | cadeia |
| recoveryServicesRecoveryPointId | O identificador de recurso do ponto de recuperação associado à operação de criação desse banco de dados. | cadeia |
| requestedBackupStorageRedundancy | O tipo de conta de armazenamento a ser usado para armazenar backups para esse banco de dados. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | O identificador de recurso do banco de dados restaurador descartado associado à operação de criação desse banco de dados. | cadeia |
| restorePointInTime | Especifica o ponto no tempo (formato ISO8601) do banco de dados de origem que será restaurado para criar o novo banco de dados. | cadeia |
| sampleName | O nome do esquema de exemplo a ser aplicado ao criar esse banco de dados. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | O tipo secundário do banco de dados se ele for secundário. Os valores válidos são Geo, Named e Standby. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Especifica a hora em que o banco de dados foi excluído. | cadeia |
| sourceDatabaseId | O identificador de recurso do banco de dados de origem associado à operação de criação deste banco de dados. | cadeia |
| sourceResourceId | O identificador de recurso da origem associada à operação de criação deste banco de dados. Essa propriedade só tem suporte para a edição DataWarehouse e permite restaurar entre assinaturas. Quando sourceResourceId é especificado, sourceDatabaseId, recoverableDatabaseId, restoreableDroppedDatabaseId e sourceDatabaseDeletionDate não devem ser especificados e CreateMode deve ser PointInTimeRestore, Restore ou Recover. Quando createMode for PointInTimeRestore, sourceResourceId deve ser a ID do recurso do banco de dados existente ou do pool de sql existente, e restorePointInTime deve ser especificado. Quando createMode é Restore, sourceResourceId deve ser a ID do recurso do banco de dados descartado restaurável ou do pool de sql descartado restaurável. Quando createMode for Recover, sourceResourceId deverá ser a ID do recurso do banco de dados recuperável ou do pool de sql recuperável. Quando a assinatura de origem pertence a um locatário diferente da assinatura de destino, o cabeçalho "x-ms-authorization-auxiliary" deve conter o token de autenticação para o locatário de origem. Para obter mais detalhes sobre o cabeçalho "x-ms-authorization-auxiliary", consulte /azure/azure-resource-manager/management/authenticate-multi-tenant |
cadeia |
| useFreeLimit | Se o banco de dados usa ou não limites mensais gratuitos. Permitido em um banco de dados em uma assinatura. | bool |
| zoneRedundant | Se esse banco de dados é ou não redundante por zona, o que significa que as réplicas desse banco de dados serão distribuídas entre várias zonas de disponibilidade. | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacidade | Capacidade da SKU específica. | int |
| family | Se o serviço tiver diferentes gerações de hardware, para a mesma SKU, isso poderá ser capturado aqui. | cadeia |
| name | O nome da SKU, normalmente, uma letra + código de número, por exemplo, P3. | cadeia de caracteres (obrigatório) |
| size | Tamanho da SKU específica | cadeia |
| nível | A camada ou edição da SKU específica, por exemplo, Basic, Premium. | cadeia |
TrackedResourceTags
| Name | Description | Value |
|---|
Exemplos de uso
Modelos de Início Rápido do Azure
Os modelos de Início Rápido do Azure a seguir implantar esse tipo de recurso.
| Template | Description |
|---|---|
|
SQL Server do Azure com auditoria gravada no Log Analytics |
Esse modelo permite implantar um SQL Server do Azure com Auditoria habilitada para gravar logs de auditoria no Log Analytics (workspace do OMS) |
|
criar um SQL Server e um banco de dados |
Esse modelo permite que você crie o Banco de Dados SQL e o Servidor. |
|
pool de SQL dedicado com o Transparent Encryption |
Cria um SQL Server e um pool de SQL dedicado (antigo SQL DW) com Transparent Data Encryption. |
|
implantar um novo pool elástico do SQL |
Esse modelo permite implantar um novo Pool Elástico do SQL com seu novo SQL Server associado e novos Bancos de Dados SQL a serem atribuídos a ele. |
|
implantar a Análise Esportiva no de Arquitetura do Azure |
Cria uma conta de armazenamento do Azure com o ADLS Gen 2 habilitado, uma instância do Azure Data Factory com serviços vinculados para a conta de armazenamento (um Banco de Dados SQL do Azure, se implantado) e uma instância do Azure Databricks. A identidade do AAD para o usuário que implanta o modelo e a identidade gerenciada para a instância do ADF receberá a função colaborador de dados de blob de armazenamento na conta de armazenamento. Também há opções para implantar uma instância do Azure Key Vault, um Banco de Dados SQL do Azure e um Hub de Eventos do Azure (para casos de uso de streaming). Quando um Azure Key Vault é implantado, a identidade gerenciada do data factory e a identidade do AAD para o usuário que implanta o modelo receberão a função de Usuário de Segredos do Key Vault. |
|
HDInsight com O Ambari + Hive Metastore DB personalizado na VNET |
Esse modelo permite que você crie um cluster HDInsight em uma rede virtual existente com um novo BD SQL que serve como um banco de dados Ambari personalizado e Metastore do Hive. Você deve ter um SQL Sever existente, uma conta de armazenamento e uma VNET. |
| exemplo de ponto de extremidade privado |
Este modelo mostra como criar um ponto de extremidade privado apontando para o SQL Server do Azure |
|
provisionar um aplicativo Web com um banco de dados SQL |
Esse modelo provisiona um aplicativo Web, um Banco de Dados SQL, configurações de Dimensionamento Automático, regras de alerta e Insights do Aplicativo. Ele configura uma cadeia de conexão no aplicativo Web para o banco de dados. |
|
Serviços de Área de Trabalho Remota com de Alta Disponibilidade |
Este código de exemplo do modelo arm implantará um laboratório de da Coleção de Sessão |
|
Sonarqube Docker Web App no Linux com o SQL do Azure |
Este modelo implanta o Sonarqube em um contêiner do Linux do aplicativo Web do Serviço de Aplicativo do Azure usando a imagem oficial do Sonarqube e apoiado por um SQL Server do Azure. |
|
Aplicativo Web com Identidade Gerenciada, SQL Server e ΑΙ |
Exemplo simples para implantar a infraestrutura do Azure para aplicativo + dados + identidade gerenciada + monitoramento |
|
WebApp consumindo um ponto de extremidade privado do SQL do Azure |
Este modelo mostra como criar um aplicativo Web que consome um ponto de extremidade privado apontando para o SQL Server do Azure |
Definição de recurso do Terraform (provedor de AzAPI)
O tipo de recurso servidores/bancos de dados pode ser implantado com operações direcionadas:
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Formato de recurso
Para criar um recurso Microsoft.Sql/servers/databases, adicione o Terraform a seguir ao seu modelo.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Sql/servers/databases@2024-11-01-preview"
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"
}
}
}
Valores de propriedade
Microsoft.Sql/servers/databases
| Name | Description | Value |
|---|---|---|
| identidade | A identidade do Azure Active Directory do banco de dados. | DatabaseIdentity |
| local | Local do recurso. | cadeia de caracteres (obrigatório) |
| name | O nome do recurso | cadeia de caracteres (obrigatório) |
| parent_id | A ID do recurso que é o pai desse recurso. | ID do recurso do tipo: servidores |
| properties | Propriedades do recurso. | DatabaseProperties |
| sku | A SKU do banco de dados. A lista de SKUs pode variar de acordo com a região e a oferta de suporte. Para determinar os SKUs (incluindo o nome da SKU, camada/edição, família e capacidade) que estão disponíveis para sua assinatura em uma região do Azure, use a API REST Capabilities_ListByLocation ou um dos seguintes comandos:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />Casca de energiaGet-AzSqlServerServiceObjective -Location <local> ```` |
Sku |
| tags | Etiquetas de recursos | Dicionário de nomes e valores de tags. |
| tipo | O tipo de recurso | "Microsoft.Sql/servers/databases@2024-11-01-preview" |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| tipo | O tipo de identidade | 'None' 'UserAssigned' |
| userAssignedIdentities | As IDs de recurso das identidades atribuídas pelo usuário a serem usadas | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseKey
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Tempo em minutos após o qual o banco de dados é pausado automaticamente. Um valor de -1 significa que a pausa automática está desabilitada | int |
| availabilityZone | Especifica a zona de disponibilidade à qual o banco de dados está fixado. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Ordenação do catálogo de metadados. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| agrupamento | A ordenação do banco de dados. | cadeia |
| createMode | Especifica o modo de criação de banco de dados. Padrão: criação regular de banco de dados. Cópia: cria um banco de dados como uma cópia de um banco de dados existente. sourceDatabaseId deve ser especificado como a ID do recurso do banco de dados de origem. Secundário: cria um banco de dados como uma réplica secundária de um banco de dados existente. sourceDatabaseId deve ser especificado como a ID do recurso do banco de dados primário existente. PointInTimeRestore: cria um banco de dados restaurando um backup pontual de um banco de dados existente. sourceDatabaseId deve ser especificado como a ID do recurso do banco de dados existente e restorePointInTime deve ser especificado. Recuperação: cria um banco de dados restaurando um backup replicado geograficamente. sourceDatabaseId deve ser especificado como a ID do recurso de banco de dados recuperável para restaurar. Restauração: cria um banco de dados restaurando um backup de um banco de dados excluído. sourceDatabaseId deve ser especificado. Se sourceDatabaseId for a ID de recurso original do banco de dados, sourceDatabaseDeletionDate deverá ser especificado. Caso contrário, sourceDatabaseId deve ser a ID do recurso de banco de dados descartado restaurável e sourceDatabaseDeletionDate será ignorado. restorePointInTime também pode ser especificado para restaurar de um ponto anterior no tempo. RestoreLongTermRetentionBackup: cria um banco de dados restaurando de um cofre de retenção de longo prazo. recoveryServicesRecoveryPointResourceId deve ser especificado como a ID do recurso do ponto de recuperação. Não há suporte para Cópia, Secundária e RestoreLongTermRetentionBackup para a edição DataWarehouse. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | O identificador de recurso do pool elástico que contém esse banco de dados. | cadeia |
| encryptionProtector | O URI do cofre de chaves do azure do banco de dados se ele estiver configurado por Chaves Gerenciadas pelo Cliente de Banco de Dados. | cadeia |
| encryptionProtectorAutoRotation | O sinalizador para habilitar ou desabilitar a rotação automática da chave AKV do protetor de criptografia de banco de dados. | bool |
| federatedClientId | A ID do cliente usada para o cenário de CMK entre locatários por banco de dados | string Constraints: Comprimento mínimo = 36 Comprimento máximo = 36 Padrão = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Especifica o comportamento quando os limites gratuitos mensais são esgotados para o banco de dados gratuito. AutoPause: o banco de dados será pausado automaticamente após o esgotamento dos limites gratuitos para o restante do mês. BillForUsage: O banco de dados continuará online após o esgotamento dos limites gratuitos e qualquer excedente será cobrado. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | O número de réplicas secundárias associadas ao banco de dados Business Critical, Premium ou Hyperscale Edition que são usadas para fornecer alta disponibilidade. Não aplicável a um banco de dados de Hiperescala em um pool elástico. | int |
| isLedgerOn | Se esse banco de dados é ou não um banco de dados do razão, o que significa que todas as tabelas no banco de dados são tabelas do razão. Observação: o valor dessa propriedade não pode ser alterado após a criação do banco de dados. | bool |
| keys | As IDs de recurso das identidades atribuídas pelo usuário a serem usadas | DatabasePropertiesKeys |
| licenseType | O tipo de licença a ser aplicado a esse banco de dados.
LicenseIncluded se você precisar de uma licença ou BasePrice se tiver uma licença e estiver qualificado para o Benefício Híbrido do Azure. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | O identificador de recurso do backup de retenção de longo prazo associado à operação de criação desse banco de dados. | cadeia |
| maintenanceConfigurationId | ID de configuração de manutenção atribuída ao banco de dados. Essa configuração define o período em que as atualizações de manutenção ocorrerão. | cadeia |
| manualCutover | Se a substituição manual controlada pelo cliente precisa ou não ser feita durante a operação Atualizar Banco de Dados para a camada de Hiperescala. Essa propriedade só é aplicável ao dimensionar o banco de dados da camada Business Critical/General Purpose/Premium/Standard para a camada de Hiperescala. Quando manualCutover for especificado, a operação de dimensionamento aguardará a entrada do usuário para disparar a substituição para o banco de dados da Hiperescala. Para disparar a substituição, forneça o parâmetro 'performCutover' quando a operação De dimensionamento estiver em estado de espera. |
bool |
| maxSizeBytes | O tamanho máximo do banco de dados expresso em bytes. | int |
| minCapacity | Capacidade mínima que o banco de dados sempre alocará, se não estiver em pausa | int |
| performCutover | Para disparar a substituição manual controlada pelo cliente durante o estado de espera enquanto a operação de dimensionamento está em andamento. Esse parâmetro de propriedade só é aplicável para operações de dimensionamento iniciadas junto com o parâmetro 'manualCutover'. Essa propriedade só é aplicável quando o dimensionamento do banco de dados da camada Business Critical/General Purpose/Premium/Standard para a camada de Hiperescala já está em andamento. Quando performCutover for especificado, a operação de dimensionamento disparará a substituição e executará a alteração de função no banco de dados da Hiperescala. |
bool |
| preferredEnclaveType | Tipo de enclave solicitado no banco de dados, ou seja, enclaves padrão ou VBS. | 'Default' 'VBS' |
| readScale | O estado do roteamento somente leitura. Se habilitada, as conexões que têm a intenção do aplicativo definida como readonly na cadeia de conexão podem ser roteadas para uma réplica secundária somente leitura na mesma região. Não aplicável a um banco de dados de Hiperescala em um pool elástico. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | O identificador de recurso do banco de dados recuperável associado à operação de criação desse banco de dados. | cadeia |
| recoveryServicesRecoveryPointId | O identificador de recurso do ponto de recuperação associado à operação de criação desse banco de dados. | cadeia |
| requestedBackupStorageRedundancy | O tipo de conta de armazenamento a ser usado para armazenar backups para esse banco de dados. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | O identificador de recurso do banco de dados restaurador descartado associado à operação de criação desse banco de dados. | cadeia |
| restorePointInTime | Especifica o ponto no tempo (formato ISO8601) do banco de dados de origem que será restaurado para criar o novo banco de dados. | cadeia |
| sampleName | O nome do esquema de exemplo a ser aplicado ao criar esse banco de dados. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | O tipo secundário do banco de dados se ele for secundário. Os valores válidos são Geo, Named e Standby. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Especifica a hora em que o banco de dados foi excluído. | cadeia |
| sourceDatabaseId | O identificador de recurso do banco de dados de origem associado à operação de criação deste banco de dados. | cadeia |
| sourceResourceId | O identificador de recurso da origem associada à operação de criação deste banco de dados. Essa propriedade só tem suporte para a edição DataWarehouse e permite restaurar entre assinaturas. Quando sourceResourceId é especificado, sourceDatabaseId, recoverableDatabaseId, restoreableDroppedDatabaseId e sourceDatabaseDeletionDate não devem ser especificados e CreateMode deve ser PointInTimeRestore, Restore ou Recover. Quando createMode for PointInTimeRestore, sourceResourceId deve ser a ID do recurso do banco de dados existente ou do pool de sql existente, e restorePointInTime deve ser especificado. Quando createMode é Restore, sourceResourceId deve ser a ID do recurso do banco de dados descartado restaurável ou do pool de sql descartado restaurável. Quando createMode for Recover, sourceResourceId deverá ser a ID do recurso do banco de dados recuperável ou do pool de sql recuperável. Quando a assinatura de origem pertence a um locatário diferente da assinatura de destino, o cabeçalho "x-ms-authorization-auxiliary" deve conter o token de autenticação para o locatário de origem. Para obter mais detalhes sobre o cabeçalho "x-ms-authorization-auxiliary", consulte /azure/azure-resource-manager/management/authenticate-multi-tenant |
cadeia |
| useFreeLimit | Se o banco de dados usa ou não limites mensais gratuitos. Permitido em um banco de dados em uma assinatura. | bool |
| zoneRedundant | Se esse banco de dados é ou não redundante por zona, o que significa que as réplicas desse banco de dados serão distribuídas entre várias zonas de disponibilidade. | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacidade | Capacidade da SKU específica. | int |
| family | Se o serviço tiver diferentes gerações de hardware, para a mesma SKU, isso poderá ser capturado aqui. | cadeia |
| name | O nome da SKU, normalmente, uma letra + código de número, por exemplo, P3. | cadeia de caracteres (obrigatório) |
| size | Tamanho da SKU específica | cadeia |
| nível | A camada ou edição da SKU específica, por exemplo, Basic, Premium. | cadeia |
TrackedResourceTags
| Name | Description | Value |
|---|
Exemplos de uso
Exemplos do Terraform
Um exemplo básico de implantação do Banco de Dados 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 = ["*"]
}
Um exemplo básico de implantação do Banco de Dados 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 = ["*"]
}