Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
- 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
Определение ресурсов Bicep
Тип ресурсов серверов и баз данных можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.Sql/servers/database, добавьте следующий Bicep в шаблон.
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'
}
}
Значения свойств
Microsoft.Sql/servers/databases
| Name | Description | Value |
|---|---|---|
| identity | Удостоверение базы данных Azure Active Directory. | DatabaseIdentity |
| location | Расположение ресурса. | строка (обязательно) |
| name | имя ресурса. | строка (обязательно) |
| parent | В Bicep можно указать родительский ресурс для дочернего ресурса. Это свойство необходимо добавить, только если дочерний ресурс объявлен за пределами родительского ресурса. Дополнительные сведения см. в разделе Дочерний ресурс за пределами родительского ресурса. |
Символьное имя ресурса типа: серверы |
| properties | Свойства ресурса. | DatabaseProperties |
| sku | Номер SKU базы данных. Список номеров SKU может отличаться по регионам и предложению поддержки. Чтобы определить номера SKU (включая имя SKU, уровень или выпуск, семейство и емкость), доступные в вашей подписке в регионе Azure, используйте Capabilities_ListByLocation REST API или одну из следующих команд:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />Оболочка PowerShellGet-AzSqlServerServiceObjective -Location <расположение> ```` |
Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| type | Тип удостоверения | 'None' 'UserAssigned' |
| userAssignedIdentities | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseKey
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Время в минутах после автоматической приостановки базы данных. Значение -1 означает, что автоматическая приостановка отключена | int |
| availabilityZone | Указывает зону доступности, к ней закреплена база данных. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Параметры сортировки каталога метаданных. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Параметры сортировки базы данных. | string |
| createMode | Задает режим создания базы данных. По умолчанию: регулярное создание базы данных. Копирование: создает базу данных как копию существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса исходной базы данных. Вторичный: создает базу данных в качестве вторичной реплики существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса существующей базы данных-источника. PointInTimeRestore: создает базу данных путем восстановления резервной копии существующей базы данных на определенный момент времени. sourceDatabaseId необходимо указать в качестве идентификатора ресурса существующей базы данных, и необходимо указать restorePointInTime. Восстановление. Создание базы данных путем восстановления геореплицированной резервной копии. sourceDatabaseId необходимо указать в качестве идентификатора ресурса базы данных для восстановления. Восстановление. Создание базы данных путем восстановления резервной копии удаленной базы данных. необходимо указать sourceDatabaseId. Если sourceDatabaseId является исходным идентификатором ресурса базы данных, необходимо указать sourceDatabaseDeletionDeletionDate. В противном случае sourceDatabaseId должен быть идентификатором ресурса базы данных, который можно восстановить, и sourceDatabaseDeletionDeletionDate игнорируется. restorePointInTime также можно указать для восстановления с более ранней точки во времени. RestoreLongTermRetentionBackup: создает базу данных путем восстановления из долгосрочного хранилища хранения. RecoveryServicesRecoveryPointResourceId необходимо указать в качестве идентификатора ресурса точки восстановления. Копирование, вторичный и restoreLongTermRetentionBackup не поддерживается для выпуска DataWarehouse. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Идентификатор ресурса эластичного пула, содержащего эту базу данных. | string |
| encryptionProtector | URI хранилища ключей Azure базы данных, если она настроена с использованием ключей, управляемых клиентом базы данных. | string |
| encryptionProtectorAutoRotation | Флаг для включения или отключения автоматического поворота ключа AKV шифрования базы данных. | bool |
| federatedClientId | Идентификатор клиента, используемый для межтенантного сценария CMK для каждой базы данных | string Constraints: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Указывает поведение, когда ежемесячные бесплатные ограничения исчерпаны для бесплатной базы данных. AutoPause: база данных будет автоматически приостановлена при исчерпании бесплатных ограничений на оставшуюся часть месяца. BillForUsage: база данных будет продолжать оставаться в сети после исчерпания бесплатных ограничений, и все превышение счетов будет выставлено. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | Количество вторичных реплик, связанных с базой данных выпуска "Критически важный для бизнеса", "Премиум" или "Гипермасштабирование", используемых для обеспечения высокой доступности. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | int |
| isLedgerOn | Независимо от того, является ли эта база данных базой данных реестра, то есть все таблицы в базе данных являются таблицами реестра. Примечание. Значение этого свойства невозможно изменить после создания базы данных. | bool |
| keys | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabasePropertiesKeys |
| licenseType | Тип лицензии, применяемый для этой базы данных.
LicenseIncluded, если вам нужна лицензия или BasePrice, если у вас есть лицензия и имеется право на преимущество гибридного использования Azure. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Идентификатор ресурса долгосрочной резервной копии хранения, связанной с операцией создания этой базы данных. | string |
| maintenanceConfigurationId | Идентификатор конфигурации обслуживания, назначенный базе данных. Эта конфигурация определяет период, когда будут выполняться обновления обслуживания. | string |
| manualCutover | Требуется ли выполнить переход вручную, контролируемый клиентом, во время операции "Обновить базу данных" на уровень "Гипермасштабирование". Это свойство применимо только при масштабировании базы данных из уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании вручнуюCutover операция масштабирования будет ожидать, пока входные данные пользователя активируют переключение в базу данных Гипермасштабирования. Чтобы активировать переключение, укажите параметр "performCutover", когда операция масштабирования находится в состоянии ожидания. |
bool |
| maxSizeBytes | Максимальный размер базы данных, выраженный в байтах. | int |
| minCapacity | Минимальная емкость, которую база данных всегда будет выделена, если она не приостановлена | int |
| performCutover | Для активации управляемой клиентом ручной переключения во время выполнения операции масштабирования. Этот параметр свойства применим только для операций масштабирования, инициируемых вместе с параметром ManualCutover. Это свойство применимо только при масштабировании базы данных с уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании performCutover операция масштабирования активирует переключение и выполняет изменение роли в базе данных Гипермасштабирования. |
bool |
| preferredEnclaveType | Тип анклава, запрошенного в базе данных, например по умолчанию или анклавов VBS. | 'Default' 'VBS' |
| readScale | Состояние маршрутизации только для чтения. Если этот параметр включен, подключения с намерением приложения, которые настроены для чтения в их строке подключения, могут быть перенаправлены на вторичную реплику чтения в том же регионе. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | Идентификатор ресурса восстанавливаемой базы данных, связанной с операцией создания этой базы данных. | string |
| recoveryServicesRecoveryPointId | Идентификатор ресурса точки восстановления, связанной с операцией создания этой базы данных. | string |
| requestedBackupStorageRedundancy | Тип учетной записи хранения, используемый для хранения резервных копий для этой базы данных. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Идентификатор ресурса восстанавливаемой удаленной базы данных, связанной с операцией создания этой базы данных. | string |
| restorePointInTime | Указывает точку во времени (ISO8601 формате) исходной базы данных, которая будет восстановлена для создания новой базы данных. | string |
| sampleName | Имя примера схемы, применяемой при создании этой базы данных. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Тип вторичной базы данных, если она является вторичной. Допустимыми значениями являются гео, именованные и резервные. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Указывает время удаления базы данных. | string |
| sourceDatabaseId | Идентификатор ресурса исходной базы данных, связанной с операцией создания этой базы данных. | string |
| 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 |
string |
| useFreeLimit | Независимо от того, использует ли база данных бесплатные ежемесячные ограничения. Разрешено для одной базы данных в подписке. | bool |
| zoneRedundant | Независимо от того, является ли эта база данных избыточной по зонам, то есть реплики этой базы данных будут распространяться по нескольким зонам доступности. | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Емкость конкретного номера SKU. | int |
| family | Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. | string |
| name | Имя номера SKU, как правило, буква + код номера, например P3. | строка (обязательно) |
| size | Размер конкретного номера SKU | string |
| tier | Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". | string |
TrackedResourceTags
| Name | Description | Value |
|---|
Примеры использования
Проверенные модули Azure
Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.
| Модуль | Description |
|---|---|
| База данных SQL Azure | AVM Resource Module for Azure SQL Database |
Примеры быстрого запуска Azure
Следующие шаблоны быстрого запуска Azure содержат примеры Bicep для развертывания этого типа ресурса.
| Bicep-файл | Description |
|---|---|
| Sql Server Azure с аудитом, записанным в Log Analytics | Этот шаблон позволяет развернуть сервер SQL Azure с включенным аудитом для записи журналов аудита в Log Analytics (рабочая область OMS) |
| создание sql Server и базы данных | Этот шаблон позволяет создавать базу данных SQL и сервер. |
| выделенный пул SQL с прозрачным шифрованием | Создает SQL Server и выделенный пул SQL (ранее — хранилище данных SQL) с прозрачным шифрованием данных. |
| развертывание спортивной аналитики в архитектуре Azure | Создает учетную запись хранения Azure с поддержкой ADLS 2-го поколения, экземпляр Фабрики данных Azure со связанными службами для учетной записи хранения (при развертывании базы данных SQL Azure) и экземпляра Azure Databricks. Удостоверение AAD для пользователя, развертывающего шаблон и управляемое удостоверение для экземпляра ADF, будет предоставлено роль участника данных BLOB-объектов хранилища в учетной записи хранения. Существуют также варианты развертывания экземпляра Azure Key Vault, базы данных SQL Azure и Концентратора событий Azure (для вариантов использования потоковой передачи). При развертывании Azure Key Vault управляемое удостоверение фабрики данных и удостоверение AAD для пользователя, развертывающего шаблон, будет предоставлена роль пользователя секретов Key Vault. |
| пример частной конечной точки |
В этом шаблоне показано, как создать частную конечную точку, указывающую на Azure SQL Server |
| подготовка веб-приложения с помощью базы данных SQL | Этот шаблон подготавливает веб-приложение, базу данных SQL, параметры автомасштабирования, правила генерации оповещений и App Insights. Он настраивает строку подключения в веб-приложении для базы данных. |
| Sonarqube Docker Web App в Linux с SQL Azure | Этот шаблон развертывает Sonarqube в контейнере веб-приложения Службы приложений Azure Linux с помощью официального образа Sonarqube и поддерживается сервером SQL Server Azure. |
| веб-приложение с управляемым удостоверением, SQL Server и ΑΑ | Простой пример развертывания инфраструктуры Azure для приложения + данных и управляемого удостоверения и мониторинга |
Определение ресурса шаблона ARM
Тип ресурсов серверов и баз данных можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.Sql/servers/database, добавьте следующий код JSON в шаблон.
{
"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"
}
}
Значения свойств
Microsoft.Sql/servers/databases
| Name | Description | Value |
|---|---|---|
| apiVersion | Версия API | '2024-11-01-preview' |
| identity | Удостоверение базы данных Azure Active Directory. | DatabaseIdentity |
| location | Расположение ресурса. | строка (обязательно) |
| name | имя ресурса. | строка (обязательно) |
| properties | Свойства ресурса. | DatabaseProperties |
| sku | Номер SKU базы данных. Список номеров SKU может отличаться по регионам и предложению поддержки. Чтобы определить номера SKU (включая имя SKU, уровень или выпуск, семейство и емкость), доступные в вашей подписке в регионе Azure, используйте Capabilities_ListByLocation REST API или одну из следующих команд:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />Оболочка PowerShellGet-AzSqlServerServiceObjective -Location <расположение> ```` |
Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
| type | Тип ресурса | 'Microsoft.Sql/servers/databases' |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| type | Тип удостоверения | 'None' 'UserAssigned' |
| userAssignedIdentities | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseKey
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Время в минутах после автоматической приостановки базы данных. Значение -1 означает, что автоматическая приостановка отключена | int |
| availabilityZone | Указывает зону доступности, к ней закреплена база данных. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Параметры сортировки каталога метаданных. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Параметры сортировки базы данных. | string |
| createMode | Задает режим создания базы данных. По умолчанию: регулярное создание базы данных. Копирование: создает базу данных как копию существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса исходной базы данных. Вторичный: создает базу данных в качестве вторичной реплики существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса существующей базы данных-источника. PointInTimeRestore: создает базу данных путем восстановления резервной копии существующей базы данных на определенный момент времени. sourceDatabaseId необходимо указать в качестве идентификатора ресурса существующей базы данных, и необходимо указать restorePointInTime. Восстановление. Создание базы данных путем восстановления геореплицированной резервной копии. sourceDatabaseId необходимо указать в качестве идентификатора ресурса базы данных для восстановления. Восстановление. Создание базы данных путем восстановления резервной копии удаленной базы данных. необходимо указать sourceDatabaseId. Если sourceDatabaseId является исходным идентификатором ресурса базы данных, необходимо указать sourceDatabaseDeletionDeletionDate. В противном случае sourceDatabaseId должен быть идентификатором ресурса базы данных, который можно восстановить, и sourceDatabaseDeletionDeletionDate игнорируется. restorePointInTime также можно указать для восстановления с более ранней точки во времени. RestoreLongTermRetentionBackup: создает базу данных путем восстановления из долгосрочного хранилища хранения. RecoveryServicesRecoveryPointResourceId необходимо указать в качестве идентификатора ресурса точки восстановления. Копирование, вторичный и restoreLongTermRetentionBackup не поддерживается для выпуска DataWarehouse. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Идентификатор ресурса эластичного пула, содержащего эту базу данных. | string |
| encryptionProtector | URI хранилища ключей Azure базы данных, если она настроена с использованием ключей, управляемых клиентом базы данных. | string |
| encryptionProtectorAutoRotation | Флаг для включения или отключения автоматического поворота ключа AKV шифрования базы данных. | bool |
| federatedClientId | Идентификатор клиента, используемый для межтенантного сценария CMK для каждой базы данных | string Constraints: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Указывает поведение, когда ежемесячные бесплатные ограничения исчерпаны для бесплатной базы данных. AutoPause: база данных будет автоматически приостановлена при исчерпании бесплатных ограничений на оставшуюся часть месяца. BillForUsage: база данных будет продолжать оставаться в сети после исчерпания бесплатных ограничений, и все превышение счетов будет выставлено. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | Количество вторичных реплик, связанных с базой данных выпуска "Критически важный для бизнеса", "Премиум" или "Гипермасштабирование", используемых для обеспечения высокой доступности. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | int |
| isLedgerOn | Независимо от того, является ли эта база данных базой данных реестра, то есть все таблицы в базе данных являются таблицами реестра. Примечание. Значение этого свойства невозможно изменить после создания базы данных. | bool |
| keys | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabasePropertiesKeys |
| licenseType | Тип лицензии, применяемый для этой базы данных.
LicenseIncluded, если вам нужна лицензия или BasePrice, если у вас есть лицензия и имеется право на преимущество гибридного использования Azure. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Идентификатор ресурса долгосрочной резервной копии хранения, связанной с операцией создания этой базы данных. | string |
| maintenanceConfigurationId | Идентификатор конфигурации обслуживания, назначенный базе данных. Эта конфигурация определяет период, когда будут выполняться обновления обслуживания. | string |
| manualCutover | Требуется ли выполнить переход вручную, контролируемый клиентом, во время операции "Обновить базу данных" на уровень "Гипермасштабирование". Это свойство применимо только при масштабировании базы данных из уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании вручнуюCutover операция масштабирования будет ожидать, пока входные данные пользователя активируют переключение в базу данных Гипермасштабирования. Чтобы активировать переключение, укажите параметр "performCutover", когда операция масштабирования находится в состоянии ожидания. |
bool |
| maxSizeBytes | Максимальный размер базы данных, выраженный в байтах. | int |
| minCapacity | Минимальная емкость, которую база данных всегда будет выделена, если она не приостановлена | int |
| performCutover | Для активации управляемой клиентом ручной переключения во время выполнения операции масштабирования. Этот параметр свойства применим только для операций масштабирования, инициируемых вместе с параметром ManualCutover. Это свойство применимо только при масштабировании базы данных с уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании performCutover операция масштабирования активирует переключение и выполняет изменение роли в базе данных Гипермасштабирования. |
bool |
| preferredEnclaveType | Тип анклава, запрошенного в базе данных, например по умолчанию или анклавов VBS. | 'Default' 'VBS' |
| readScale | Состояние маршрутизации только для чтения. Если этот параметр включен, подключения с намерением приложения, которые настроены для чтения в их строке подключения, могут быть перенаправлены на вторичную реплику чтения в том же регионе. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | Идентификатор ресурса восстанавливаемой базы данных, связанной с операцией создания этой базы данных. | string |
| recoveryServicesRecoveryPointId | Идентификатор ресурса точки восстановления, связанной с операцией создания этой базы данных. | string |
| requestedBackupStorageRedundancy | Тип учетной записи хранения, используемый для хранения резервных копий для этой базы данных. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Идентификатор ресурса восстанавливаемой удаленной базы данных, связанной с операцией создания этой базы данных. | string |
| restorePointInTime | Указывает точку во времени (ISO8601 формате) исходной базы данных, которая будет восстановлена для создания новой базы данных. | string |
| sampleName | Имя примера схемы, применяемой при создании этой базы данных. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Тип вторичной базы данных, если она является вторичной. Допустимыми значениями являются гео, именованные и резервные. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Указывает время удаления базы данных. | string |
| sourceDatabaseId | Идентификатор ресурса исходной базы данных, связанной с операцией создания этой базы данных. | string |
| 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 |
string |
| useFreeLimit | Независимо от того, использует ли база данных бесплатные ежемесячные ограничения. Разрешено для одной базы данных в подписке. | bool |
| zoneRedundant | Независимо от того, является ли эта база данных избыточной по зонам, то есть реплики этой базы данных будут распространяться по нескольким зонам доступности. | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Емкость конкретного номера SKU. | int |
| family | Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. | string |
| name | Имя номера SKU, как правило, буква + код номера, например P3. | строка (обязательно) |
| size | Размер конкретного номера SKU | string |
| tier | Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". | string |
TrackedResourceTags
| Name | Description | Value |
|---|
Примеры использования
Шаблоны быстрого запуска Azure
Следующие шаблоны быстрого запуска Azure развернуть этот тип ресурса.
| Template | Description |
|---|---|
|
Sql Server Azure с аудитом, записанным в Log Analytics |
Этот шаблон позволяет развернуть сервер SQL Azure с включенным аудитом для записи журналов аудита в Log Analytics (рабочая область OMS) |
|
создание sql Server и базы данных |
Этот шаблон позволяет создавать базу данных SQL и сервер. |
|
выделенный пул SQL с прозрачным шифрованием |
Создает SQL Server и выделенный пул SQL (ранее — хранилище данных SQL) с прозрачным шифрованием данных. |
|
Развертывание нового эластичного пула SQL |
Этот шаблон позволяет развернуть новый пул эластичных баз данных SQL с новым связанным SQL Server и новыми базами данных SQL для назначения ему. |
|
развертывание спортивной аналитики в архитектуре Azure |
Создает учетную запись хранения Azure с поддержкой ADLS 2-го поколения, экземпляр Фабрики данных Azure со связанными службами для учетной записи хранения (при развертывании базы данных SQL Azure) и экземпляра Azure Databricks. Удостоверение AAD для пользователя, развертывающего шаблон и управляемое удостоверение для экземпляра ADF, будет предоставлено роль участника данных BLOB-объектов хранилища в учетной записи хранения. Существуют также варианты развертывания экземпляра Azure Key Vault, базы данных SQL Azure и Концентратора событий Azure (для вариантов использования потоковой передачи). При развертывании Azure Key Vault управляемое удостоверение фабрики данных и удостоверение AAD для пользователя, развертывающего шаблон, будет предоставлена роль пользователя секретов Key Vault. |
|
HDInsight с пользовательскими базами данных хранилища метаданных Ambari и Hive в виртуальной сети |
Этот шаблон позволяет создать кластер HDInsight в существующей виртуальной сети с новой базой данных SQL, которая служит как пользовательской базой данных Ambari DB, так и хранилищем метаданных Hive. У вас должна быть существующая учетная запись SQL, учетная запись хранения и виртуальная сеть. |
| пример частной конечной точки |
В этом шаблоне показано, как создать частную конечную точку, указывающую на Azure SQL Server |
|
подготовка веб-приложения с помощью базы данных SQL |
Этот шаблон подготавливает веб-приложение, базу данных SQL, параметры автомасштабирования, правила генерации оповещений и App Insights. Он настраивает строку подключения в веб-приложении для базы данных. |
|
службы удаленных рабочих столов с высоким уровнем доступности |
В этом примере кода шаблона ARM будет развернута коллекция сеансов удаленных рабочих столов 2019 лаборатории с высоким уровнем доступности. Цель — развернуть полностью избыточное высокодоступное решение для служб удаленных рабочих столов с помощью Windows Server 2019. |
|
Sonarqube Docker Web App в Linux с SQL Azure |
Этот шаблон развертывает Sonarqube в контейнере веб-приложения Службы приложений Azure Linux с помощью официального образа Sonarqube и поддерживается сервером SQL Server Azure. |
|
веб-приложение с управляемым удостоверением, SQL Server и ΑΑ |
Простой пример развертывания инфраструктуры Azure для приложения + данных и управляемого удостоверения и мониторинга |
|
WebApp, использующие частную конечную точку SQL Azure |
В этом шаблоне показано, как создать веб-приложение, которое использует частную конечную точку, указывающую на Azure SQL Server |
Определение ресурса Terraform (поставщик AzAPI)
Тип ресурсов серверов и баз данных можно развернуть с помощью операций, предназначенных для следующих операций:
- Группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.Sql/servers/database, добавьте следующий объект Terraform в шаблон.
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"
}
}
}
Значения свойств
Microsoft.Sql/servers/databases
| Name | Description | Value |
|---|---|---|
| identity | Удостоверение базы данных Azure Active Directory. | DatabaseIdentity |
| location | Расположение ресурса. | строка (обязательно) |
| name | имя ресурса. | строка (обязательно) |
| parent_id | Идентификатор ресурса, который является родительским для этого ресурса. | Идентификатор ресурса типа: серверы |
| properties | Свойства ресурса. | DatabaseProperties |
| sku | Номер SKU базы данных. Список номеров SKU может отличаться по регионам и предложению поддержки. Чтобы определить номера SKU (включая имя SKU, уровень или выпуск, семейство и емкость), доступные в вашей подписке в регионе Azure, используйте Capabilities_ListByLocation REST API или одну из следующих команд:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />Оболочка PowerShellGet-AzSqlServerServiceObjective -Location <расположение> ```` |
Sku |
| tags | Теги ресурсов | Словарь имен и значений тегов. |
| type | Тип ресурса | "Microsoft.Sql/servers/databases@2024-11-01-preview" |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| type | Тип удостоверения | 'None' 'UserAssigned' |
| userAssignedIdentities | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseKey
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Время в минутах после автоматической приостановки базы данных. Значение -1 означает, что автоматическая приостановка отключена | int |
| availabilityZone | Указывает зону доступности, к ней закреплена база данных. | '1' '2' '3' 'NoPreference' |
| catalogCollation | Параметры сортировки каталога метаданных. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Параметры сортировки базы данных. | string |
| createMode | Задает режим создания базы данных. По умолчанию: регулярное создание базы данных. Копирование: создает базу данных как копию существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса исходной базы данных. Вторичный: создает базу данных в качестве вторичной реплики существующей базы данных. sourceDatabaseId должен быть указан в качестве идентификатора ресурса существующей базы данных-источника. PointInTimeRestore: создает базу данных путем восстановления резервной копии существующей базы данных на определенный момент времени. sourceDatabaseId необходимо указать в качестве идентификатора ресурса существующей базы данных, и необходимо указать restorePointInTime. Восстановление. Создание базы данных путем восстановления геореплицированной резервной копии. sourceDatabaseId необходимо указать в качестве идентификатора ресурса базы данных для восстановления. Восстановление. Создание базы данных путем восстановления резервной копии удаленной базы данных. необходимо указать sourceDatabaseId. Если sourceDatabaseId является исходным идентификатором ресурса базы данных, необходимо указать sourceDatabaseDeletionDeletionDate. В противном случае sourceDatabaseId должен быть идентификатором ресурса базы данных, который можно восстановить, и sourceDatabaseDeletionDeletionDate игнорируется. restorePointInTime также можно указать для восстановления с более ранней точки во времени. RestoreLongTermRetentionBackup: создает базу данных путем восстановления из долгосрочного хранилища хранения. RecoveryServicesRecoveryPointResourceId необходимо указать в качестве идентификатора ресурса точки восстановления. Копирование, вторичный и restoreLongTermRetentionBackup не поддерживается для выпуска DataWarehouse. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Идентификатор ресурса эластичного пула, содержащего эту базу данных. | string |
| encryptionProtector | URI хранилища ключей Azure базы данных, если она настроена с использованием ключей, управляемых клиентом базы данных. | string |
| encryptionProtectorAutoRotation | Флаг для включения или отключения автоматического поворота ключа AKV шифрования базы данных. | bool |
| federatedClientId | Идентификатор клиента, используемый для межтенантного сценария CMK для каждой базы данных | string Constraints: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| freeLimitExhaustionBehavior | Указывает поведение, когда ежемесячные бесплатные ограничения исчерпаны для бесплатной базы данных. AutoPause: база данных будет автоматически приостановлена при исчерпании бесплатных ограничений на оставшуюся часть месяца. BillForUsage: база данных будет продолжать оставаться в сети после исчерпания бесплатных ограничений, и все превышение счетов будет выставлено. |
'AutoPause' 'BillOverUsage' |
| highAvailabilityReplicaCount | Количество вторичных реплик, связанных с базой данных выпуска "Критически важный для бизнеса", "Премиум" или "Гипермасштабирование", используемых для обеспечения высокой доступности. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | int |
| isLedgerOn | Независимо от того, является ли эта база данных базой данных реестра, то есть все таблицы в базе данных являются таблицами реестра. Примечание. Значение этого свойства невозможно изменить после создания базы данных. | bool |
| keys | Идентификаторы ресурса назначенных пользователем удостоверений для использования | DatabasePropertiesKeys |
| licenseType | Тип лицензии, применяемый для этой базы данных.
LicenseIncluded, если вам нужна лицензия или BasePrice, если у вас есть лицензия и имеется право на преимущество гибридного использования Azure. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Идентификатор ресурса долгосрочной резервной копии хранения, связанной с операцией создания этой базы данных. | string |
| maintenanceConfigurationId | Идентификатор конфигурации обслуживания, назначенный базе данных. Эта конфигурация определяет период, когда будут выполняться обновления обслуживания. | string |
| manualCutover | Требуется ли выполнить переход вручную, контролируемый клиентом, во время операции "Обновить базу данных" на уровень "Гипермасштабирование". Это свойство применимо только при масштабировании базы данных из уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании вручнуюCutover операция масштабирования будет ожидать, пока входные данные пользователя активируют переключение в базу данных Гипермасштабирования. Чтобы активировать переключение, укажите параметр "performCutover", когда операция масштабирования находится в состоянии ожидания. |
bool |
| maxSizeBytes | Максимальный размер базы данных, выраженный в байтах. | int |
| minCapacity | Минимальная емкость, которую база данных всегда будет выделена, если она не приостановлена | int |
| performCutover | Для активации управляемой клиентом ручной переключения во время выполнения операции масштабирования. Этот параметр свойства применим только для операций масштабирования, инициируемых вместе с параметром ManualCutover. Это свойство применимо только при масштабировании базы данных с уровня "Критически важный для бизнеса", "Общего назначения", "Премиум"/ "Стандартный" на уровень "Гипермасштабирование". При указании performCutover операция масштабирования активирует переключение и выполняет изменение роли в базе данных Гипермасштабирования. |
bool |
| preferredEnclaveType | Тип анклава, запрошенного в базе данных, например по умолчанию или анклавов VBS. | 'Default' 'VBS' |
| readScale | Состояние маршрутизации только для чтения. Если этот параметр включен, подключения с намерением приложения, которые настроены для чтения в их строке подключения, могут быть перенаправлены на вторичную реплику чтения в том же регионе. Неприменимо к базе данных гипермасштабирования в эластичном пуле. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | Идентификатор ресурса восстанавливаемой базы данных, связанной с операцией создания этой базы данных. | string |
| recoveryServicesRecoveryPointId | Идентификатор ресурса точки восстановления, связанной с операцией создания этой базы данных. | string |
| requestedBackupStorageRedundancy | Тип учетной записи хранения, используемый для хранения резервных копий для этой базы данных. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Идентификатор ресурса восстанавливаемой удаленной базы данных, связанной с операцией создания этой базы данных. | string |
| restorePointInTime | Указывает точку во времени (ISO8601 формате) исходной базы данных, которая будет восстановлена для создания новой базы данных. | string |
| sampleName | Имя примера схемы, применяемой при создании этой базы данных. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Тип вторичной базы данных, если она является вторичной. Допустимыми значениями являются гео, именованные и резервные. | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | Указывает время удаления базы данных. | string |
| sourceDatabaseId | Идентификатор ресурса исходной базы данных, связанной с операцией создания этой базы данных. | string |
| 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 |
string |
| useFreeLimit | Независимо от того, использует ли база данных бесплатные ежемесячные ограничения. Разрешено для одной базы данных в подписке. | bool |
| zoneRedundant | Независимо от того, является ли эта база данных избыточной по зонам, то есть реплики этой базы данных будут распространяться по нескольким зонам доступности. | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Емкость конкретного номера SKU. | int |
| family | Если служба имеет разные поколения оборудования для одного номера SKU, это можно записать здесь. | string |
| name | Имя номера SKU, как правило, буква + код номера, например P3. | строка (обязательно) |
| size | Размер конкретного номера SKU | string |
| tier | Уровень или выпуск конкретного номера SKU, например "Базовый", "Премиум". | string |
TrackedResourceTags
| Name | Description | Value |
|---|
Примеры использования
Примеры 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 = ["*"]
}