Поделиться через


Серверы/базы данных Microsoft.Sql

Определение ресурсов 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 &lt;location&gt; -o table<br />````<br /><br />Оболочка PowerShell
Get-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 &lt;location&gt; -o table<br />````<br /><br />Оболочка PowerShell
Get-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

Развертывание в Azure
Этот шаблон позволяет развернуть сервер SQL Azure с включенным аудитом для записи журналов аудита в Log Analytics (рабочая область OMS)
создание sql Server и базы данных

Развертывание в Azure
Этот шаблон позволяет создавать базу данных SQL и сервер.
выделенный пул SQL с прозрачным шифрованием

Развертывание в Azure
Создает SQL Server и выделенный пул SQL (ранее — хранилище данных SQL) с прозрачным шифрованием данных.
Развертывание нового эластичного пула SQL

Развертывание в Azure
Этот шаблон позволяет развернуть новый пул эластичных баз данных SQL с новым связанным SQL Server и новыми базами данных SQL для назначения ему.
развертывание спортивной аналитики в архитектуре Azure

Развертывание в 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 в виртуальной сети

Развертывание в Azure
Этот шаблон позволяет создать кластер HDInsight в существующей виртуальной сети с новой базой данных SQL, которая служит как пользовательской базой данных Ambari DB, так и хранилищем метаданных Hive. У вас должна быть существующая учетная запись SQL, учетная запись хранения и виртуальная сеть.
пример частной конечной точки

Развертывание в Azure
В этом шаблоне показано, как создать частную конечную точку, указывающую на Azure SQL Server
подготовка веб-приложения с помощью базы данных SQL

Развертывание в Azure
Этот шаблон подготавливает веб-приложение, базу данных SQL, параметры автомасштабирования, правила генерации оповещений и App Insights. Он настраивает строку подключения в веб-приложении для базы данных.
службы удаленных рабочих столов с высоким уровнем доступности

Развертывание в Azure
В этом примере кода шаблона ARM будет развернута коллекция сеансов удаленных рабочих столов 2019 лаборатории с высоким уровнем доступности. Цель — развернуть полностью избыточное высокодоступное решение для служб удаленных рабочих столов с помощью Windows Server 2019.
Sonarqube Docker Web App в Linux с SQL Azure

Развертывание в Azure
Этот шаблон развертывает Sonarqube в контейнере веб-приложения Службы приложений Azure Linux с помощью официального образа Sonarqube и поддерживается сервером SQL Server Azure.
веб-приложение с управляемым удостоверением, SQL Server и ΑΑ

Развертывание в Azure
Простой пример развертывания инфраструктуры Azure для приложения + данных и управляемого удостоверения и мониторинга
WebApp, использующие частную конечную точку SQL Azure

Развертывание в 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 &lt;location&gt; -o table<br />````<br /><br />Оболочка PowerShell
Get-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    = ["*"]
}