Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
- Latest
- 2025-02-01-превью
- 2025-01-01
- 2024-11-01-превью
- 2024-05-01-preview
- 2023-08-01
- 2023-08-01-превью
- 2023-05-01-preview
- 2023-02-01-preview
- 2022-11-01-preview
- 2022-08-01-превью
- 2022-05-01-preview
- 2022-02-01-превью
- 2021-11-01
- 2021-11-01-превью
- 2021-08-01-превью
- 2021-05-01-preview
- 2021-02-01-preview
- 2020-11-01-превью
- 2020-08-01-preview
- 2020-02-02-preview
- 2019-06-01-preview
- 2017-10-01-preview
- 2017-03-01-preview
- 2014-04-01
Определение ресурса Bicep
Тип ресурсов серверов и баз данных можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов - см. команды развертывания групп ресурсов
Для получения списка изменённых свойств в каждой версии API см. журнал изменений.
Формат ресурса
Создать Microsoft. Ресурс SQL/серверы/базы данных — добавьте следующий Bicep в свой шаблон.
resource symbolicname 'Microsoft.Sql/servers/databases@2025-02-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'
}
}
Значения свойств
Microsoft. SQL/серверы/базы данных
| Имя | Описание | Ценность |
|---|---|---|
| identity | Идентификация Azure Active Directory базы данных. | DatabaseIdentity |
| location | Географическое расположение, в котором находится ресурс | строка (обязательно) |
| имя | имя ресурса. | строка (обязательно) |
| parent | В Bicep можно указать родительский ресурс для дочернего ресурса. Это свойство необходимо добавить, только если дочерний ресурс объявлен за пределами родительского ресурса. Для получения дополнительной информации см. ресурс для детей вне родителей. |
Символьное имя ресурса типа: серверы |
| свойства | Свойства ресурса. | DatabaseProperties |
| sku | Номер SKU базы данных. Список номеров SKU может отличаться по регионам и предложению поддержки. Чтобы определить SKU (включая имя, уровень/издание, семейство и емкость), доступные вашей подписке в Azure регионе, используйте API REST Capabilities_ListByLocation или одну из следующих команд:azurecli<br />az sql db list-editions -l <location> -o table<br />powershell<br />Get-AzSqlServerServiceObjective -Location <location><br /> |
Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
DatabaseIdentity
| Имя | Описание | Ценность |
|---|---|---|
| тип | Тип удостоверения | "Нет" UserAssigned |
| userAssignedIdentities | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Имя | Описание | Ценность |
|---|
DatabaseKey
| Имя | Описание | Ценность |
|---|
DatabaseProperties
| Имя | Описание | Ценность |
|---|---|---|
| autoPauseDelay | Время в минутах после автоматической приостановки базы данных. Значение -1 означает, что автоматическая приостановка отключена | инт |
| availabilityZone | Указывает зону доступности, к ней закреплена база данных. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Параметры сортировки каталога метаданных. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Параметры сортировки базы данных. | струна |
| createMode | Задает режим создания базы данных. По умолчанию: регулярное создание базы данных. Копирование: создает базу данных как копию существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса исходной базы данных. Вторичный: создает базу данных в качестве вторичной реплики существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса существующей базы данных-источника. PointInTimeRestore: создает базу данных путем восстановления резервной копии существующей базы данных на определенный момент времени. sourceDatabaseId необходимо указать в качестве идентификатора ресурса существующей базы данных, и необходимо указать restorePointInTime. Восстановление. Создание базы данных путем восстановления геореплицированной резервной копии. sourceDatabaseId необходимо указать в качестве идентификатора ресурса базы данных для восстановления. Восстановление. Создание базы данных путем восстановления резервной копии удаленной базы данных. необходимо указать sourceDatabaseId. Если sourceDatabaseId является исходным идентификатором ресурса базы данных, необходимо указать sourceDatabaseDeletionDeletionDate. В противном случае sourceDatabaseId должен быть идентификатором ресурса базы данных, который можно восстановить, и sourceDatabaseDeletionDeletionDate игнорируется. restorePointInTime также можно указать для восстановления с более ранней точки во времени. RestoreLongTermRetentionBackup: создает базу данных путем восстановления из долгосрочного хранилища хранения. RecoveryServicesRecoveryPointResourceId необходимо указать в качестве идентификатора ресурса точки восстановления. Копирование, вторичный и restoreLongTermRetentionBackup не поддерживается для выпуска DataWarehouse. |
'Copy' По умолчанию 'OnlineSecondary' "PointInTimeRestore" "Восстановление" "Восстановить" 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Идентификатор ресурса эластичного пула, содержащего эту базу данных. | струна |
| encryptionProtector | URI хранилища ключей Azure базы данных, если она настроена с использованием ключей, управляемых клиентом базы данных. | струна |
| encryptionProtectorAutoRotation | Флаг для включения или отключения автоматического поворота ключа AKV шифрования базы данных. | bool |
| federatedClientId | Идентификатор клиента, используемый для межтенантного сценария CMK для каждой базы данных | string Ограничения целостности: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Указывает поведение, когда ежемесячные бесплатные ограничения исчерпаны для бесплатной базы данных. AutoPause: база данных будет автоматически приостановлена при исчерпании бесплатных ограничений на оставшуюся часть месяца. BillForUsage: база данных будет продолжать оставаться в сети после исчерпания бесплатных ограничений, и все превышение счетов будет выставлено. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | Количество вторичных реплик, связанных с базой данных выпуска "Критически важный для бизнеса", "Премиум" или "Гипермасштабирование", используемых для обеспечения высокой доступности. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | инт |
| isLedgerOn | Независимо от того, является ли эта база данных базой данных реестра, то есть все таблицы в базе данных являются таблицами реестра. Примечание. Значение этого свойства невозможно изменить после создания базы данных. | bool |
| ключи | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabasePropertiesKeys |
| licenseType | Тип лицензии, применяемый для этой базы данных.
LicenseIncluded, если вам нужна лицензия, или BasePrice, если у вас есть лицензия и вы имеете право на Azure Hybrid Benefit. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Идентификатор ресурса долгосрочной резервной копии хранения, связанной с операцией создания этой базы данных. | струна |
| maintenanceConfigurationId | Идентификатор конфигурации обслуживания, назначенный базе данных. Эта конфигурация определяет период, когда будут выполняться обновления обслуживания. | струна |
| manualCutover | Требуется ли выполнить переход вручную, контролируемый клиентом, во время операции "Обновить базу данных" на уровень "Гипермасштабирование". Это свойство применимо только при масштабировании базы данных из уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании вручнуюCutover операция масштабирования будет ожидать, пока входные данные пользователя активируют переключение в базу данных Гипермасштабирования. Чтобы активировать переключение, укажите параметр "performCutover", когда операция масштабирования находится в состоянии ожидания. |
bool |
| maxSizeBytes | Максимальный размер базы данных, выраженный в байтах. | инт |
| minCapacity | Минимальная емкость, которую база данных всегда будет выделена, если она не приостановлена | инт |
| performCutover | Для активации управляемой клиентом ручной переключения во время выполнения операции масштабирования. Этот параметр свойства применим только для операций масштабирования, инициируемых вместе с параметром ManualCutover. Это свойство применимо только при масштабировании базы данных с уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании performCutover операция масштабирования активирует переключение и выполняет изменение роли в базе данных Гипермасштабирования. |
bool |
| preferredEnclaveType | Тип анклава, запрошенного в базе данных, например по умолчанию или анклавов VBS. | По умолчанию 'VBS' |
| readScale | Состояние маршрутизации только для чтения. Если включено, соединения с приложением intent установлен на readonly в их connection string могут быть маршрутизированы к вторичной реплике только для чтения в том же регионе. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | "Отключено" "Включено" |
| recoverableDatabaseId | Идентификатор ресурса восстанавливаемой базы данных, связанной с операцией создания этой базы данных. | струна |
| recoveryServicesRecoveryPointId | Идентификатор ресурса точки восстановления, связанной с операцией создания этой базы данных. | струна |
| requestedBackupStorageRedundancy | Тип учетной записи хранения, используемый для хранения резервных копий для этой базы данных. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Идентификатор ресурса восстанавливаемой удаленной базы данных, связанной с операцией создания этой базы данных. | струна |
| restorePointInTime | Указывает точку во времени (ISO8601 формате) исходной базы данных, которая будет восстановлена для создания новой базы данных. | струна |
| sampleName | Имя примера схемы, применяемой при создании этой базы данных. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Тип вторичной базы данных, если она является вторичной. Допустимыми значениями являются гео, именованные и резервные. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Указывает время удаления базы данных. | струна |
| sourceDatabaseId | Идентификатор ресурса исходной базы данных, связанной с операцией создания этой базы данных. | струна |
| sourceResourceId | Идентификатор ресурса источника, связанного с операцией создания этой базы данных. Это свойство поддерживается только для выпуска DataWarehouse и позволяет восстанавливаться в подписках. Если задан sourceResourceId, sourceDatabaseId, restoreableDatabaseId, restoreableDroppedDatabaseId и sourceDatabaseDeletionDeletionDate, а CreateMode должно быть PointInTimeRestore, Restore или Restore. Если createMode — PointInTimeRestore, sourceResourceId должен быть идентификатором ресурса существующей базы данных или существующего пула SQL, а также необходимо указать restorePointInTime. При созданииmode — restore, sourceResourceId должен быть идентификатором ресурса восстанавливаемой удаленной базы данных или восстанавливаемым пулом SQL. При создании объекта CreateMode is Recover источникResourceId должен быть идентификатором ресурса восстанавливаемой базы данных или пула sql с возможностью восстановления. Если исходная подписка принадлежит к клиенту, отличному от целевой подписки, заголовок x-ms-authorization-вспомогательный должен содержать маркер проверки подлинности для исходного клиента. Дополнительные сведения о заголовке x-ms-authorization-вспомогательный см. в разделе /Azure/azure-resource-manager/management/authenticate-multi-tenant |
струна |
| useFreeLimit | Независимо от того, использует ли база данных бесплатные ежемесячные ограничения. Разрешено для одной базы данных в подписке. | bool |
| zoneRedundant | Независимо от того, является ли эта база данных избыточной по зонам, то есть реплики этой базы данных будут распространяться по нескольким зонам доступности. | bool |
DatabasePropertiesKeys
| Имя | Описание | Ценность |
|---|
DatabaseUserIdentity
| Имя | Описание | Ценность |
|---|
Sku
| Имя | Описание | Ценность |
|---|---|---|
| capacity | Емкость конкретного номера SKU. | инт |
| family | Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. | струна |
| имя | Имя номера SKU, как правило, буква + код номера, например P3. | строка (обязательно) |
| size | Размер конкретного номера SKU | струна |
| уровень | Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". | струна |
Отслеживаемые Ресурсные Теги
| Имя | Описание | Ценность |
|---|
Примеры использования
Примеры Bicep
Простой пример развертывания базы данных MS SQL.
@secure()
@description('The administrator login password for the SQL server')
param administratorLoginPassword string
param resourceName string = 'acctest0001'
param location string = 'westeurope'
resource server 'Microsoft.Sql/servers@2021-02-01-preview' = {
name: resourceName
location: location
properties: {
administratorLogin: 'mradministrator'
administratorLoginPassword: administratorLoginPassword
minimalTlsVersion: '1.2'
publicNetworkAccess: 'Enabled'
restrictOutboundNetworkAccess: 'Disabled'
version: '12.0'
}
}
resource database 'Microsoft.Sql/servers/databases@2021-02-01-preview' = {
name: resourceName
location: location
parent: server
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
Следующие Azure Проверенные модули могут использоваться для развертывания этого типа ресурсов.
| Модуль | Описание |
|---|---|
| База данных SQL Azure | AVM Resource Module for Azure SQL Database |
Примеры быстрого запуска Azure
Следующие шаблоны Azure Quickstart содержат Bicep образцов для развертывания этого типа ресурсов.
| Bicep-файл | Описание |
|---|---|
| Azure SQL Server с аудитом на Log Analytics | Этот шаблон позволяет развернуть Azure SQL-сервер с включённым Auditing для записи журналов аудита в Log Analytics (OMS workspace) |
| Создать SQL Server и базу данных | Этот шаблон позволяет создавать базу данных SQL и сервер. |
| выделенный SQL-пул с прозрачным шифрованием | Создаёт SQL Server и выделенный SQL-пул (ранее SQL DW) с Transparent Data Encryption. |
| Развернуть спортивную аналитику на Azure архитектуре | Создаёт Azure хранилище с включённым ADLS Gen 2, экземпляр Azure Data Factory с связанными сервисами для аккаунта хранения (а также Azure SQL Database при развертывании) и экземпляр Azure Databricks. Удостоверение AAD для пользователя, развертывающего шаблон и управляемое удостоверение для экземпляра ADF, будет предоставлено роль участника данных BLOB-объектов хранилища в учетной записи хранения. Также есть варианты развертывания экземпляра Azure Key Vault, Azure SQL Database и Azure Event Hub (для сценариев потокового использования). При развертывании Azure Key Vault идентификатор управляемой фабрикой данных и идентификатор AAD пользователя, развёртывающего шаблон, получают роль пользователя Key Vault Secrets. |
| Private Endpoint пример | Этот шаблон показывает, как создать приватную конечную точку с указанием на Azure SQL Server |
| Обеспечение веб-приложения с базой данных SQL | Этот шаблон подготавливает веб-приложение, базу данных SQL, параметры автомасштабирования, правила генерации оповещений и App Insights. Он настраивает connection string в веб-приложении для базы данных. |
| Sonarqube Docker Web App на Linux с Azure SQL | Этот шаблон развёртает Sonarqube в веб-приложении Azure App Service на Linux с использованием официального образа Sonarqube и поддерживается Azure SQL Server. |
| Веб-приложение с управляемой идентичностью, SQL Server и ΑΙ | Простой пример развертывания инфраструктуры Azure для приложения + данных + управляемой идентичности + мониторинга |
Определение ресурса ARM-шаблона
Тип ресурсов серверов и баз данных можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов - см. команды развертывания групп ресурсов
Для получения списка изменённых свойств в каждой версии API см. журнал изменений.
Формат ресурса
Создать Microsoft. Sql/серверы/ресурсы баз данных, добавьте следующий JSON в свой шаблон.
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2025-02-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"
}
}
Значения свойств
Microsoft. SQL/серверы/базы данных
| Имя | Описание | Ценность |
|---|---|---|
| apiVersion | Версия API | «2025-02-01-превью» |
| identity | Идентификация Azure Active Directory базы данных. | DatabaseIdentity |
| location | Географическое расположение, в котором находится ресурс | строка (обязательно) |
| имя | имя ресурса. | строка (обязательно) |
| свойства | Свойства ресурса. | DatabaseProperties |
| sku | Номер SKU базы данных. Список номеров SKU может отличаться по регионам и предложению поддержки. Чтобы определить SKU (включая имя, уровень/издание, семейство и емкость), доступные вашей подписке в Azure регионе, используйте API REST Capabilities_ListByLocation или одну из следующих команд:azurecli<br />az sql db list-editions -l <location> -o table<br />powershell<br />Get-AzSqlServerServiceObjective -Location <location><br /> |
Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
| тип | Тип ресурса | 'Microsoft. Sql/серверы/базы данных |
DatabaseIdentity
| Имя | Описание | Ценность |
|---|---|---|
| тип | Тип удостоверения | "Нет" UserAssigned |
| userAssignedIdentities | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Имя | Описание | Ценность |
|---|
DatabaseKey
| Имя | Описание | Ценность |
|---|
DatabaseProperties
| Имя | Описание | Ценность |
|---|---|---|
| autoPauseDelay | Время в минутах после автоматической приостановки базы данных. Значение -1 означает, что автоматическая приостановка отключена | инт |
| availabilityZone | Указывает зону доступности, к ней закреплена база данных. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Параметры сортировки каталога метаданных. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Параметры сортировки базы данных. | струна |
| createMode | Задает режим создания базы данных. По умолчанию: регулярное создание базы данных. Копирование: создает базу данных как копию существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса исходной базы данных. Вторичный: создает базу данных в качестве вторичной реплики существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса существующей базы данных-источника. PointInTimeRestore: создает базу данных путем восстановления резервной копии существующей базы данных на определенный момент времени. sourceDatabaseId необходимо указать в качестве идентификатора ресурса существующей базы данных, и необходимо указать restorePointInTime. Восстановление. Создание базы данных путем восстановления геореплицированной резервной копии. sourceDatabaseId необходимо указать в качестве идентификатора ресурса базы данных для восстановления. Восстановление. Создание базы данных путем восстановления резервной копии удаленной базы данных. необходимо указать sourceDatabaseId. Если sourceDatabaseId является исходным идентификатором ресурса базы данных, необходимо указать sourceDatabaseDeletionDeletionDate. В противном случае sourceDatabaseId должен быть идентификатором ресурса базы данных, который можно восстановить, и sourceDatabaseDeletionDeletionDate игнорируется. restorePointInTime также можно указать для восстановления с более ранней точки во времени. RestoreLongTermRetentionBackup: создает базу данных путем восстановления из долгосрочного хранилища хранения. RecoveryServicesRecoveryPointResourceId необходимо указать в качестве идентификатора ресурса точки восстановления. Копирование, вторичный и restoreLongTermRetentionBackup не поддерживается для выпуска DataWarehouse. |
'Copy' По умолчанию 'OnlineSecondary' "PointInTimeRestore" "Восстановление" "Восстановить" 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Идентификатор ресурса эластичного пула, содержащего эту базу данных. | струна |
| encryptionProtector | URI хранилища ключей Azure базы данных, если она настроена с использованием ключей, управляемых клиентом базы данных. | струна |
| encryptionProtectorAutoRotation | Флаг для включения или отключения автоматического поворота ключа AKV шифрования базы данных. | bool |
| federatedClientId | Идентификатор клиента, используемый для межтенантного сценария CMK для каждой базы данных | string Ограничения целостности: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Указывает поведение, когда ежемесячные бесплатные ограничения исчерпаны для бесплатной базы данных. AutoPause: база данных будет автоматически приостановлена при исчерпании бесплатных ограничений на оставшуюся часть месяца. BillForUsage: база данных будет продолжать оставаться в сети после исчерпания бесплатных ограничений, и все превышение счетов будет выставлено. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | Количество вторичных реплик, связанных с базой данных выпуска "Критически важный для бизнеса", "Премиум" или "Гипермасштабирование", используемых для обеспечения высокой доступности. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | инт |
| isLedgerOn | Независимо от того, является ли эта база данных базой данных реестра, то есть все таблицы в базе данных являются таблицами реестра. Примечание. Значение этого свойства невозможно изменить после создания базы данных. | bool |
| ключи | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabasePropertiesKeys |
| licenseType | Тип лицензии, применяемый для этой базы данных.
LicenseIncluded, если вам нужна лицензия, или BasePrice, если у вас есть лицензия и вы имеете право на Azure Hybrid Benefit. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Идентификатор ресурса долгосрочной резервной копии хранения, связанной с операцией создания этой базы данных. | струна |
| maintenanceConfigurationId | Идентификатор конфигурации обслуживания, назначенный базе данных. Эта конфигурация определяет период, когда будут выполняться обновления обслуживания. | струна |
| manualCutover | Требуется ли выполнить переход вручную, контролируемый клиентом, во время операции "Обновить базу данных" на уровень "Гипермасштабирование". Это свойство применимо только при масштабировании базы данных из уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании вручнуюCutover операция масштабирования будет ожидать, пока входные данные пользователя активируют переключение в базу данных Гипермасштабирования. Чтобы активировать переключение, укажите параметр "performCutover", когда операция масштабирования находится в состоянии ожидания. |
bool |
| maxSizeBytes | Максимальный размер базы данных, выраженный в байтах. | инт |
| minCapacity | Минимальная емкость, которую база данных всегда будет выделена, если она не приостановлена | инт |
| performCutover | Для активации управляемой клиентом ручной переключения во время выполнения операции масштабирования. Этот параметр свойства применим только для операций масштабирования, инициируемых вместе с параметром ManualCutover. Это свойство применимо только при масштабировании базы данных с уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании performCutover операция масштабирования активирует переключение и выполняет изменение роли в базе данных Гипермасштабирования. |
bool |
| preferredEnclaveType | Тип анклава, запрошенного в базе данных, например по умолчанию или анклавов VBS. | По умолчанию 'VBS' |
| readScale | Состояние маршрутизации только для чтения. Если включено, соединения с приложением intent установлен на readonly в их connection string могут быть маршрутизированы к вторичной реплике только для чтения в том же регионе. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | "Отключено" "Включено" |
| recoverableDatabaseId | Идентификатор ресурса восстанавливаемой базы данных, связанной с операцией создания этой базы данных. | струна |
| recoveryServicesRecoveryPointId | Идентификатор ресурса точки восстановления, связанной с операцией создания этой базы данных. | струна |
| requestedBackupStorageRedundancy | Тип учетной записи хранения, используемый для хранения резервных копий для этой базы данных. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Идентификатор ресурса восстанавливаемой удаленной базы данных, связанной с операцией создания этой базы данных. | струна |
| restorePointInTime | Указывает точку во времени (ISO8601 формате) исходной базы данных, которая будет восстановлена для создания новой базы данных. | струна |
| sampleName | Имя примера схемы, применяемой при создании этой базы данных. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Тип вторичной базы данных, если она является вторичной. Допустимыми значениями являются гео, именованные и резервные. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Указывает время удаления базы данных. | струна |
| sourceDatabaseId | Идентификатор ресурса исходной базы данных, связанной с операцией создания этой базы данных. | струна |
| sourceResourceId | Идентификатор ресурса источника, связанного с операцией создания этой базы данных. Это свойство поддерживается только для выпуска DataWarehouse и позволяет восстанавливаться в подписках. Если задан sourceResourceId, sourceDatabaseId, restoreableDatabaseId, restoreableDroppedDatabaseId и sourceDatabaseDeletionDeletionDate, а CreateMode должно быть PointInTimeRestore, Restore или Restore. Если createMode — PointInTimeRestore, sourceResourceId должен быть идентификатором ресурса существующей базы данных или существующего пула SQL, а также необходимо указать restorePointInTime. При созданииmode — restore, sourceResourceId должен быть идентификатором ресурса восстанавливаемой удаленной базы данных или восстанавливаемым пулом SQL. При создании объекта CreateMode is Recover источникResourceId должен быть идентификатором ресурса восстанавливаемой базы данных или пула sql с возможностью восстановления. Если исходная подписка принадлежит к клиенту, отличному от целевой подписки, заголовок x-ms-authorization-вспомогательный должен содержать маркер проверки подлинности для исходного клиента. Дополнительные сведения о заголовке x-ms-authorization-вспомогательный см. в разделе /Azure/azure-resource-manager/management/authenticate-multi-tenant |
струна |
| useFreeLimit | Независимо от того, использует ли база данных бесплатные ежемесячные ограничения. Разрешено для одной базы данных в подписке. | bool |
| zoneRedundant | Независимо от того, является ли эта база данных избыточной по зонам, то есть реплики этой базы данных будут распространяться по нескольким зонам доступности. | bool |
DatabasePropertiesKeys
| Имя | Описание | Ценность |
|---|
DatabaseUserIdentity
| Имя | Описание | Ценность |
|---|
Sku
| Имя | Описание | Ценность |
|---|---|---|
| capacity | Емкость конкретного номера SKU. | инт |
| family | Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. | струна |
| имя | Имя номера SKU, как правило, буква + код номера, например P3. | строка (обязательно) |
| size | Размер конкретного номера SKU | струна |
| уровень | Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". | струна |
Отслеживаемые Ресурсные Теги
| Имя | Описание | Ценность |
|---|
Примеры использования
Шаблоны быстрого запуска Azure
Следующие Azure шаблоны быстрого запуска развёртают этот тип ресурса.
| Template | Описание |
|---|---|
|
Azure SQL Server с аудитом на Log Analytics |
Этот шаблон позволяет развернуть Azure SQL-сервер с включённым Auditing для записи журналов аудита в Log Analytics (OMS workspace) |
|
Создать SQL Server и базу данных |
Этот шаблон позволяет создавать базу данных SQL и сервер. |
|
выделенный SQL-пул с прозрачным шифрованием |
Создаёт SQL Server и выделенный SQL-пул (ранее SQL DW) с Transparent Data Encryption. |
|
Развернуть новый SQL Elastic Pool |
Этот шаблон позволяет развернуть новый SQL Elastic Pool с новым связанным SQL Server и новыми SQL базами данных для назначения. |
|
Развернуть спортивную аналитику на Azure архитектуре |
Создаёт Azure хранилище с включённым ADLS Gen 2, экземпляр Azure Data Factory с связанными сервисами для аккаунта хранения (а также Azure SQL Database при развертывании) и экземпляр Azure Databricks. Удостоверение AAD для пользователя, развертывающего шаблон и управляемое удостоверение для экземпляра ADF, будет предоставлено роль участника данных BLOB-объектов хранилища в учетной записи хранения. Также есть варианты развертывания экземпляра Azure Key Vault, Azure SQL Database и Azure Event Hub (для сценариев потокового использования). При развертывании Azure Key Vault идентификатор управляемой фабрикой данных и идентификатор AAD пользователя, развёртывающего шаблон, получают роль пользователя Key Vault Secrets. |
|
HDInsight с кастомной базой данных Ambari + Hive Metastore в VNET |
Этот шаблон позволяет создать кластер HDInsight в существующей виртуальной сети с новой базой данных SQL, которая служит как пользовательской базой данных Ambari DB, так и хранилищем метаданных Hive. У вас должна быть существующая учетная запись SQL, учетная запись хранения и виртуальная сеть. |
|
Private Endpoint пример |
Этот шаблон показывает, как создать приватную конечную точку с указанием на Azure SQL Server |
|
Обеспечение веб-приложения с базой данных SQL |
Этот шаблон подготавливает веб-приложение, базу данных SQL, параметры автомасштабирования, правила генерации оповещений и App Insights. Он настраивает connection string в веб-приложении для базы данных. |
|
Remote Desktop Услуги с высокой доступностью |
Этот примерный код шаблона ARM будет развернуть лабораторию Remote Desktop Services 2019 Session Collection с высокой доступностью. Цель — внедрить полностью избыточное, высокодоступное решение для Remote Desktop Services, используя Windows Server 2019. |
|
Sonarqube Docker Web App на Linux с Azure SQL |
Этот шаблон развёртает Sonarqube в веб-приложении Azure App Service на Linux с использованием официального образа Sonarqube и поддерживается Azure SQL Server. |
|
Веб-приложение с управляемой идентичностью, SQL Server и ΑΙ |
Простой пример развертывания инфраструктуры Azure для приложения + данных + управляемой идентичности + мониторинга |
|
WebApp использует Azure SQL Private Endpoint |
Этот шаблон показывает, как создать веб-приложение, которое использует частную конечную точку, указывающую на Azure SQL Server |
Определение ресурса Terraform (поставщик AzAPI)
Тип ресурсов серверов и баз данных можно развернуть с помощью операций, предназначенных для следующих операций:
- Группы ресурсов
Для получения списка изменённых свойств в каждой версии API см. журнал изменений.
Формат ресурса
Создать Microsoft. Sql/серверы/ресурсы баз данных, добавьте следующий Terraform в ваш шаблон.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Sql/servers/databases@2025-02-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"
}
}
}
Значения свойств
Microsoft. SQL/серверы/базы данных
| Имя | Описание | Ценность |
|---|---|---|
| identity | Идентификация Azure Active Directory базы данных. | DatabaseIdentity |
| location | Географическое расположение, в котором находится ресурс | строка (обязательно) |
| имя | имя ресурса. | строка (обязательно) |
| parent_id | Идентификатор ресурса, который является родительским для этого ресурса. | Идентификатор ресурса типа: серверы |
| свойства | Свойства ресурса. | DatabaseProperties |
| sku | Номер SKU базы данных. Список номеров SKU может отличаться по регионам и предложению поддержки. Чтобы определить SKU (включая имя, уровень/издание, семейство и емкость), доступные вашей подписке в Azure регионе, используйте API REST Capabilities_ListByLocation или одну из следующих команд:azurecli<br />az sql db list-editions -l <location> -o table<br />powershell<br />Get-AzSqlServerServiceObjective -Location <location><br /> |
Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. |
| тип | Тип ресурса | «Microsoft. Sql/servers/databases@2025-02-01-preview" |
DatabaseIdentity
| Имя | Описание | Ценность |
|---|---|---|
| тип | Тип удостоверения | "Нет" UserAssigned |
| userAssignedIdentities | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Имя | Описание | Ценность |
|---|
DatabaseKey
| Имя | Описание | Ценность |
|---|
DatabaseProperties
| Имя | Описание | Ценность |
|---|---|---|
| autoPauseDelay | Время в минутах после автоматической приостановки базы данных. Значение -1 означает, что автоматическая приостановка отключена | инт |
| availabilityZone | Указывает зону доступности, к ней закреплена база данных. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Параметры сортировки каталога метаданных. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Параметры сортировки базы данных. | струна |
| createMode | Задает режим создания базы данных. По умолчанию: регулярное создание базы данных. Копирование: создает базу данных как копию существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса исходной базы данных. Вторичный: создает базу данных в качестве вторичной реплики существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса существующей базы данных-источника. PointInTimeRestore: создает базу данных путем восстановления резервной копии существующей базы данных на определенный момент времени. sourceDatabaseId необходимо указать в качестве идентификатора ресурса существующей базы данных, и необходимо указать restorePointInTime. Восстановление. Создание базы данных путем восстановления геореплицированной резервной копии. sourceDatabaseId необходимо указать в качестве идентификатора ресурса базы данных для восстановления. Восстановление. Создание базы данных путем восстановления резервной копии удаленной базы данных. необходимо указать sourceDatabaseId. Если sourceDatabaseId является исходным идентификатором ресурса базы данных, необходимо указать sourceDatabaseDeletionDeletionDate. В противном случае sourceDatabaseId должен быть идентификатором ресурса базы данных, который можно восстановить, и sourceDatabaseDeletionDeletionDate игнорируется. restorePointInTime также можно указать для восстановления с более ранней точки во времени. RestoreLongTermRetentionBackup: создает базу данных путем восстановления из долгосрочного хранилища хранения. RecoveryServicesRecoveryPointResourceId необходимо указать в качестве идентификатора ресурса точки восстановления. Копирование, вторичный и restoreLongTermRetentionBackup не поддерживается для выпуска DataWarehouse. |
'Copy' По умолчанию 'OnlineSecondary' "PointInTimeRestore" "Восстановление" "Восстановить" 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Идентификатор ресурса эластичного пула, содержащего эту базу данных. | струна |
| encryptionProtector | URI хранилища ключей Azure базы данных, если она настроена с использованием ключей, управляемых клиентом базы данных. | струна |
| encryptionProtectorAutoRotation | Флаг для включения или отключения автоматического поворота ключа AKV шифрования базы данных. | bool |
| federatedClientId | Идентификатор клиента, используемый для межтенантного сценария CMK для каждой базы данных | string Ограничения целостности: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Указывает поведение, когда ежемесячные бесплатные ограничения исчерпаны для бесплатной базы данных. AutoPause: база данных будет автоматически приостановлена при исчерпании бесплатных ограничений на оставшуюся часть месяца. BillForUsage: база данных будет продолжать оставаться в сети после исчерпания бесплатных ограничений, и все превышение счетов будет выставлено. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | Количество вторичных реплик, связанных с базой данных выпуска "Критически важный для бизнеса", "Премиум" или "Гипермасштабирование", используемых для обеспечения высокой доступности. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | инт |
| isLedgerOn | Независимо от того, является ли эта база данных базой данных реестра, то есть все таблицы в базе данных являются таблицами реестра. Примечание. Значение этого свойства невозможно изменить после создания базы данных. | bool |
| ключи | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabasePropertiesKeys |
| licenseType | Тип лицензии, применяемый для этой базы данных.
LicenseIncluded, если вам нужна лицензия, или BasePrice, если у вас есть лицензия и вы имеете право на Azure Hybrid Benefit. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Идентификатор ресурса долгосрочной резервной копии хранения, связанной с операцией создания этой базы данных. | струна |
| maintenanceConfigurationId | Идентификатор конфигурации обслуживания, назначенный базе данных. Эта конфигурация определяет период, когда будут выполняться обновления обслуживания. | струна |
| manualCutover | Требуется ли выполнить переход вручную, контролируемый клиентом, во время операции "Обновить базу данных" на уровень "Гипермасштабирование". Это свойство применимо только при масштабировании базы данных из уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании вручнуюCutover операция масштабирования будет ожидать, пока входные данные пользователя активируют переключение в базу данных Гипермасштабирования. Чтобы активировать переключение, укажите параметр "performCutover", когда операция масштабирования находится в состоянии ожидания. |
bool |
| maxSizeBytes | Максимальный размер базы данных, выраженный в байтах. | инт |
| minCapacity | Минимальная емкость, которую база данных всегда будет выделена, если она не приостановлена | инт |
| performCutover | Для активации управляемой клиентом ручной переключения во время выполнения операции масштабирования. Этот параметр свойства применим только для операций масштабирования, инициируемых вместе с параметром ManualCutover. Это свойство применимо только при масштабировании базы данных с уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании performCutover операция масштабирования активирует переключение и выполняет изменение роли в базе данных Гипермасштабирования. |
bool |
| preferredEnclaveType | Тип анклава, запрошенного в базе данных, например по умолчанию или анклавов VBS. | По умолчанию 'VBS' |
| readScale | Состояние маршрутизации только для чтения. Если включено, соединения с приложением intent установлен на readonly в их connection string могут быть маршрутизированы к вторичной реплике только для чтения в том же регионе. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | "Отключено" "Включено" |
| recoverableDatabaseId | Идентификатор ресурса восстанавливаемой базы данных, связанной с операцией создания этой базы данных. | струна |
| recoveryServicesRecoveryPointId | Идентификатор ресурса точки восстановления, связанной с операцией создания этой базы данных. | струна |
| requestedBackupStorageRedundancy | Тип учетной записи хранения, используемый для хранения резервных копий для этой базы данных. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Идентификатор ресурса восстанавливаемой удаленной базы данных, связанной с операцией создания этой базы данных. | струна |
| restorePointInTime | Указывает точку во времени (ISO8601 формате) исходной базы данных, которая будет восстановлена для создания новой базы данных. | струна |
| sampleName | Имя примера схемы, применяемой при создании этой базы данных. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Тип вторичной базы данных, если она является вторичной. Допустимыми значениями являются гео, именованные и резервные. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Указывает время удаления базы данных. | струна |
| sourceDatabaseId | Идентификатор ресурса исходной базы данных, связанной с операцией создания этой базы данных. | струна |
| sourceResourceId | Идентификатор ресурса источника, связанного с операцией создания этой базы данных. Это свойство поддерживается только для выпуска DataWarehouse и позволяет восстанавливаться в подписках. Если задан sourceResourceId, sourceDatabaseId, restoreableDatabaseId, restoreableDroppedDatabaseId и sourceDatabaseDeletionDeletionDate, а CreateMode должно быть PointInTimeRestore, Restore или Restore. Если createMode — PointInTimeRestore, sourceResourceId должен быть идентификатором ресурса существующей базы данных или существующего пула SQL, а также необходимо указать restorePointInTime. При созданииmode — restore, sourceResourceId должен быть идентификатором ресурса восстанавливаемой удаленной базы данных или восстанавливаемым пулом SQL. При создании объекта CreateMode is Recover источникResourceId должен быть идентификатором ресурса восстанавливаемой базы данных или пула sql с возможностью восстановления. Если исходная подписка принадлежит к клиенту, отличному от целевой подписки, заголовок x-ms-authorization-вспомогательный должен содержать маркер проверки подлинности для исходного клиента. Дополнительные сведения о заголовке x-ms-authorization-вспомогательный см. в разделе /Azure/azure-resource-manager/management/authenticate-multi-tenant |
струна |
| useFreeLimit | Независимо от того, использует ли база данных бесплатные ежемесячные ограничения. Разрешено для одной базы данных в подписке. | bool |
| zoneRedundant | Независимо от того, является ли эта база данных избыточной по зонам, то есть реплики этой базы данных будут распространяться по нескольким зонам доступности. | bool |
DatabasePropertiesKeys
| Имя | Описание | Ценность |
|---|
DatabaseUserIdentity
| Имя | Описание | Ценность |
|---|
Sku
| Имя | Описание | Ценность |
|---|---|---|
| capacity | Емкость конкретного номера SKU. | инт |
| family | Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. | струна |
| имя | Имя номера SKU, как правило, буква + код номера, например P3. | строка (обязательно) |
| size | Размер конкретного номера SKU | струна |
| уровень | Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". | струна |
Отслеживаемые Ресурсные Теги
| Имя | Описание | Ценность |
|---|
Примеры использования
Примеры Terraform
Простой пример развертывания базы данных 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 = ["*"]
}
Простой пример развертывания базы данных 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 = ["*"]
}