你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.Sql servers/databases 2023-05-01-preview

Bicep 资源定义

可以使用目标操作部署服务器/数据库资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Sql/servers/databases 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Sql/servers/databases@2023-05-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'
  }
}

属性值

DatabaseIdentity

名字 描述 价值
类型 标识类型 “None”
“UserAssigned”
userAssignedIdentities 要使用的用户分配标识的资源 ID DatabaseIdentityUserAssignedIdentities

DatabaseIdentityUserAssignedIdentities

名字 描述 价值

DatabaseKey

名字 描述 价值

DatabaseProperties

名字 描述 价值
autoPauseDelay 数据库自动暂停的时间(以分钟为单位)。 -1 值表示禁用自动暂停 int
availabilityZone 指定数据库固定到的可用性区域。 '1'
'2'
'3'
“NoPreference”
catalogCollation 元数据目录的排序规则。 “DATABASE_DEFAULT”
“SQL_Latin1_General_CP1_CI_AS”
整理 数据库的排序规则。 字符串
createMode 指定数据库创建模式。

默认值:常规数据库创建。

复制:将数据库创建为现有数据库的副本。 sourceDatabaseId 必须指定为源数据库的资源 ID。

辅助数据库:将数据库创建为现有数据库的次要副本。 sourceDatabaseId 必须指定为现有主数据库的资源 ID。

PointInTimeRestore:通过还原现有数据库的时间点备份来创建数据库。 sourceDatabaseId 必须指定为现有数据库的资源 ID,并且必须指定 restorePointInTime。

恢复:通过还原异地复制的备份来创建数据库。 sourceDatabaseId 必须指定为可恢复的数据库资源 ID 才能还原。

还原:通过还原已删除数据库的备份来创建数据库。 必须指定 sourceDatabaseId。 如果 sourceDatabaseId 是数据库的原始资源 ID,则必须指定 sourceDatabaseDeletionDate。 否则,sourceDatabaseId 必须是可还原删除的数据库资源 ID,并且将忽略 sourceDatabaseDeletionDate。 还可以指定 restorePointInTime,以便从以前的时间点还原。

RestoreLongTermRetentionBackup:通过从长期保留保管库还原来创建数据库。 recoveryServicesRecoveryPointResourceId 必须指定为恢复点资源 ID。

DataWarehouse 版本不支持 Copy、Secondary 和 RestoreLongTermRetentionBackup。
“Copy”
“Default”
“OnlineSecondary”
“PointInTimeRestore”
“Recovery”
“还原”
“RestoreExternalBackup”
“RestoreExternalBackupSecondary”
“RestoreLongTermRetentionBackup”
“Secondary”
elasticPoolId 包含此数据库的弹性池的资源标识符。 字符串
encryptionProtector 如果数据库配置了每个数据库客户管理的密钥,则数据库的 Azure 密钥保管库 URI。 字符串
encryptionProtectorAutoRotation 用于启用或禁用数据库加密保护程序 AKV 密钥自动轮换的标志。 bool
federatedClientId 用于每个数据库 CMK 方案的跨租户的客户端 ID 字符串

约束:
最小长度 = 36
最大长度 = 36
Pattern = ^[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
钥匙 要使用的用户分配标识的资源 ID DatabasePropertiesKeys
licenseType 要申请此数据库的许可证类型。 如果需要许可证,LicenseIncluded,或者 BasePrice 拥有许可证并且有资格获得 Azure 混合权益。 “BasePrice”
“LicenseIncluded”
longTermRetentionBackupResourceId 与此数据库的创建操作关联的长期保留备份的资源标识符。 字符串
maintenanceConfigurationId 分配给数据库的维护配置 ID。 此配置定义维护更新的发生时间。 字符串
manualCutover 在“更新数据库”操作到“超大规模”层期间,是否需要执行客户控制的手动直接转换。

仅当将数据库从业务关键/常规用途/高级/标准层缩放到“超大规模”层时,此属性才适用。

指定 manualCutover 时,缩放操作将等待用户输入触发“超大规模”数据库的直接转换。

若要触发直接转换,请在缩放操作处于等待状态时提供“performCutover”参数。
bool
maxSizeBytes 以字节表示的数据库的最大大小。 int
minCapacity 数据库始终分配的最小容量(如果未暂停) int
performCutover 在缩放操作正在进行期间触发客户控制的手动直接转换。

此属性参数仅适用于随“manualCutover”参数一起启动的缩放操作。

仅当正在将数据库从业务关键/常规用途/高级/标准层缩放到“超大规模”层时,此属性才适用。

指定 performCutover 时,缩放操作将触发直接转换并执行超大规模数据库的角色更改。
bool
preferredEnclaveType 在数据库(即默认或 VBS enclave)上请求的 enclave 类型。 “Default”
“VBS”
readScale 只读路由的状态。 如果启用,将应用程序意向设置为只读的连接在其连接字符串中可能会路由到同一区域中的只读次要副本。 不适用于弹性池中的“超大规模”数据库。 “Disabled”
“Enabled”
recoverableDatabaseId 与此数据库的创建操作关联的可恢复数据库的资源标识符。 字符串
recoveryServicesRecoveryPointId 与此数据库的创建操作关联的恢复点的资源标识符。 字符串
requestedBackupStorageRedundancy 用于存储此数据库的备份的存储帐户类型。 “Geo”
“GeoZone”
“Local”
“Zone”
restorableDroppedDatabaseId 与此数据库的创建操作关联的可还原已删除数据库的资源标识符。 字符串
restorePointInTime 指定将还原以创建新数据库的源数据库的时间点(ISO8601格式)。 字符串
sampleName 创建此数据库时要应用的示例架构的名称。 “AdventureWorksLT”
“WideWorldImportersFull”
“WideWorldImportersStd”
secondaryType 数据库的辅助类型(如果是辅助数据库)。 有效值为 Geo、Named 和 Standby。 “Geo”
“Named”
“待机”
sourceDatabaseDeletionDate 指定删除数据库的时间。 字符串
sourceDatabaseId 与此数据库的创建操作关联的源数据库的资源标识符。 字符串
sourceResourceId 与此数据库的创建操作关联的源的资源标识符。

仅 DataWarehouse 版本支持此属性,并允许跨订阅还原。

指定 sourceResourceId 时,sourceDatabaseId、recoverableDatabaseId、restoreableDroppedDatabaseId 和 sourceDatabaseDeletionDate 不得指定,CreateMode 必须是 PointInTimeRestore、Restore 或 Recover。

createMode 为 PointInTimeRestore 时,sourceResourceId 必须是现有数据库或现有 sql 池的资源 ID,并且必须指定 restorePointInTime。

当 createMode 为 Restore 时,sourceResourceId 必须是可还原的已删除数据库或可还原的已删除 sql 池的资源 ID。

CreateMode 为 Recover 时,sourceResourceId 必须是可恢复数据库或可恢复 SQL 池的资源 ID。

当源订阅属于与目标订阅不同的租户时,“x-ms-authorization-auxiliary”标头必须包含源租户的身份验证令牌。 有关“x-ms-authorization-auxiliary”标头的更多详细信息,请参阅 /azure/azure-resource-manager/management/authenticate-multi-tenant
字符串
useFreeLimit 数据库是否使用免费的每月限制。 在订阅中的一个数据库上允许。 bool
zoneRedundant 此数据库是否为区域冗余,这意味着此数据库的副本将分布在多个可用性区域。 bool

DatabasePropertiesKeys

名字 描述 价值

DatabaseUserIdentity

名字 描述 价值

Microsoft.Sql/servers/databases

名字 描述 价值
身份 数据库的 Azure Active Directory 标识。 DatabaseIdentity
位置 资源位置。 string (必需)
名字 资源名称 string (必需)
父母 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源外部的子资源
类型资源的符号名称:服务器
性能 资源属性。 DatabaseProperties
sku 数据库 SKU。

SKU 列表可能因区域和支持产品/服务而异。 若要确定 Azure 区域中订阅可用的 SKU(包括 SKU 名称、层/版本、系列和容量),请使用 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
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

Sku

名字 描述 价值
能力 特定 SKU 的容量。 int
家庭 如果服务具有不同代的硬件(对于同一 SKU,则可以在此处捕获)。 字符串
名字 SKU 的名称,通常为字母 + 数字代码,例如 P3。 string (必需)
大小 特定 SKU 的大小 字符串
特定 SKU 的层或版本,例如基本 SKU、高级版。 字符串

TrackedResourceTags

名字 描述 价值

快速入门示例

以下快速入门示例部署此资源类型。

Bicep 文件 描述
Azure SQL Server,其中审核写入到 Log Analytics 使用此模板,可以部署启用了审核的 Azure SQL Server,以便将审核日志写入 Log Analytics (OMS 工作区)
创建 SQL Server 和数据库 使用此模板可以创建 SQL 数据库和服务器。
使用透明加密 专用 SQL 池 使用透明数据加密创建 SQL Server 和专用 SQL 池(以前为 SQL DW)。
在 Azure 体系结构 上部署体育分析 创建启用了 ADLS Gen 2 的 Azure 存储帐户、存储帐户的链接服务的 Azure 数据工厂实例(如果已部署的 Azure SQL 数据库)和 Azure Databricks 实例。 将为部署模板的用户的 AAD 标识以及 ADF 实例的托管标识授予存储帐户上的存储 Blob 数据参与者角色。 还有一些选项可用于部署 Azure Key Vault 实例、Azure SQL 数据库和 Azure 事件中心(用于流式处理用例)。 部署 Azure Key Vault 后,将为部署模板的用户提供数据工厂托管标识和 AAD 标识,并被授予 Key Vault 机密用户角色。
专用终结点示例 此模板演示如何创建指向 Azure SQL Server 的专用终结点
使用 SQL 数据库 预配 Web 应用 此模板预配 Web 应用、SQL 数据库、自动缩放设置、警报规则和 App Insights。 它在数据库的 Web 应用中配置连接字符串。
使用 Azure SQL 在 Linux 上 Sonarqube Docker Web 应用 此模板使用官方 Sonarqube 映像在 Azure 应用服务 Web 应用 Linux 容器中部署 Sonarqube,并由 Azure SQL Server 提供支持。
使用托管标识、SQL Server 和 ΑΙ Web 应用 为应用 + 数据 + 托管标识 + 监视部署 Azure 基础结构的简单示例

ARM 模板资源定义

可以使用目标操作部署服务器/数据库资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Sql/servers/databases 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Sql/servers/databases",
  "apiVersion": "2023-05-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"
  }
}

属性值

DatabaseIdentity

名字 描述 价值
类型 标识类型 “None”
“UserAssigned”
userAssignedIdentities 要使用的用户分配标识的资源 ID DatabaseIdentityUserAssignedIdentities

DatabaseIdentityUserAssignedIdentities

名字 描述 价值

DatabaseKey

名字 描述 价值

DatabaseProperties

名字 描述 价值
autoPauseDelay 数据库自动暂停的时间(以分钟为单位)。 -1 值表示禁用自动暂停 int
availabilityZone 指定数据库固定到的可用性区域。 '1'
'2'
'3'
“NoPreference”
catalogCollation 元数据目录的排序规则。 “DATABASE_DEFAULT”
“SQL_Latin1_General_CP1_CI_AS”
整理 数据库的排序规则。 字符串
createMode 指定数据库创建模式。

默认值:常规数据库创建。

复制:将数据库创建为现有数据库的副本。 sourceDatabaseId 必须指定为源数据库的资源 ID。

辅助数据库:将数据库创建为现有数据库的次要副本。 sourceDatabaseId 必须指定为现有主数据库的资源 ID。

PointInTimeRestore:通过还原现有数据库的时间点备份来创建数据库。 sourceDatabaseId 必须指定为现有数据库的资源 ID,并且必须指定 restorePointInTime。

恢复:通过还原异地复制的备份来创建数据库。 sourceDatabaseId 必须指定为可恢复的数据库资源 ID 才能还原。

还原:通过还原已删除数据库的备份来创建数据库。 必须指定 sourceDatabaseId。 如果 sourceDatabaseId 是数据库的原始资源 ID,则必须指定 sourceDatabaseDeletionDate。 否则,sourceDatabaseId 必须是可还原删除的数据库资源 ID,并且将忽略 sourceDatabaseDeletionDate。 还可以指定 restorePointInTime,以便从以前的时间点还原。

RestoreLongTermRetentionBackup:通过从长期保留保管库还原来创建数据库。 recoveryServicesRecoveryPointResourceId 必须指定为恢复点资源 ID。

DataWarehouse 版本不支持 Copy、Secondary 和 RestoreLongTermRetentionBackup。
“Copy”
“Default”
“OnlineSecondary”
“PointInTimeRestore”
“Recovery”
“还原”
“RestoreExternalBackup”
“RestoreExternalBackupSecondary”
“RestoreLongTermRetentionBackup”
“Secondary”
elasticPoolId 包含此数据库的弹性池的资源标识符。 字符串
encryptionProtector 如果数据库配置了每个数据库客户管理的密钥,则数据库的 Azure 密钥保管库 URI。 字符串
encryptionProtectorAutoRotation 用于启用或禁用数据库加密保护程序 AKV 密钥自动轮换的标志。 bool
federatedClientId 用于每个数据库 CMK 方案的跨租户的客户端 ID 字符串

约束:
最小长度 = 36
最大长度 = 36
Pattern = ^[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
钥匙 要使用的用户分配标识的资源 ID DatabasePropertiesKeys
licenseType 要申请此数据库的许可证类型。 如果需要许可证,LicenseIncluded,或者 BasePrice 拥有许可证并且有资格获得 Azure 混合权益。 “BasePrice”
“LicenseIncluded”
longTermRetentionBackupResourceId 与此数据库的创建操作关联的长期保留备份的资源标识符。 字符串
maintenanceConfigurationId 分配给数据库的维护配置 ID。 此配置定义维护更新的发生时间。 字符串
manualCutover 在“更新数据库”操作到“超大规模”层期间,是否需要执行客户控制的手动直接转换。

仅当将数据库从业务关键/常规用途/高级/标准层缩放到“超大规模”层时,此属性才适用。

指定 manualCutover 时,缩放操作将等待用户输入触发“超大规模”数据库的直接转换。

若要触发直接转换,请在缩放操作处于等待状态时提供“performCutover”参数。
bool
maxSizeBytes 以字节表示的数据库的最大大小。 int
minCapacity 数据库始终分配的最小容量(如果未暂停) int
performCutover 在缩放操作正在进行期间触发客户控制的手动直接转换。

此属性参数仅适用于随“manualCutover”参数一起启动的缩放操作。

仅当正在将数据库从业务关键/常规用途/高级/标准层缩放到“超大规模”层时,此属性才适用。

指定 performCutover 时,缩放操作将触发直接转换并执行超大规模数据库的角色更改。
bool
preferredEnclaveType 在数据库(即默认或 VBS enclave)上请求的 enclave 类型。 “Default”
“VBS”
readScale 只读路由的状态。 如果启用,将应用程序意向设置为只读的连接在其连接字符串中可能会路由到同一区域中的只读次要副本。 不适用于弹性池中的“超大规模”数据库。 “Disabled”
“Enabled”
recoverableDatabaseId 与此数据库的创建操作关联的可恢复数据库的资源标识符。 字符串
recoveryServicesRecoveryPointId 与此数据库的创建操作关联的恢复点的资源标识符。 字符串
requestedBackupStorageRedundancy 用于存储此数据库的备份的存储帐户类型。 “Geo”
“GeoZone”
“Local”
“Zone”
restorableDroppedDatabaseId 与此数据库的创建操作关联的可还原已删除数据库的资源标识符。 字符串
restorePointInTime 指定将还原以创建新数据库的源数据库的时间点(ISO8601格式)。 字符串
sampleName 创建此数据库时要应用的示例架构的名称。 “AdventureWorksLT”
“WideWorldImportersFull”
“WideWorldImportersStd”
secondaryType 数据库的辅助类型(如果是辅助数据库)。 有效值为 Geo、Named 和 Standby。 “Geo”
“Named”
“待机”
sourceDatabaseDeletionDate 指定删除数据库的时间。 字符串
sourceDatabaseId 与此数据库的创建操作关联的源数据库的资源标识符。 字符串
sourceResourceId 与此数据库的创建操作关联的源的资源标识符。

仅 DataWarehouse 版本支持此属性,并允许跨订阅还原。

指定 sourceResourceId 时,sourceDatabaseId、recoverableDatabaseId、restoreableDroppedDatabaseId 和 sourceDatabaseDeletionDate 不得指定,CreateMode 必须是 PointInTimeRestore、Restore 或 Recover。

createMode 为 PointInTimeRestore 时,sourceResourceId 必须是现有数据库或现有 sql 池的资源 ID,并且必须指定 restorePointInTime。

当 createMode 为 Restore 时,sourceResourceId 必须是可还原的已删除数据库或可还原的已删除 sql 池的资源 ID。

CreateMode 为 Recover 时,sourceResourceId 必须是可恢复数据库或可恢复 SQL 池的资源 ID。

当源订阅属于与目标订阅不同的租户时,“x-ms-authorization-auxiliary”标头必须包含源租户的身份验证令牌。 有关“x-ms-authorization-auxiliary”标头的更多详细信息,请参阅 /azure/azure-resource-manager/management/authenticate-multi-tenant
字符串
useFreeLimit 数据库是否使用免费的每月限制。 在订阅中的一个数据库上允许。 bool
zoneRedundant 此数据库是否为区域冗余,这意味着此数据库的副本将分布在多个可用性区域。 bool

DatabasePropertiesKeys

名字 描述 价值

DatabaseUserIdentity

名字 描述 价值

Microsoft.Sql/servers/databases

名字 描述 价值
apiVersion API 版本 '2023-05-01-preview'
身份 数据库的 Azure Active Directory 标识。 DatabaseIdentity
位置 资源位置。 string (必需)
名字 资源名称 string (必需)
性能 资源属性。 DatabaseProperties
sku 数据库 SKU。

SKU 列表可能因区域和支持产品/服务而异。 若要确定 Azure 区域中订阅可用的 SKU(包括 SKU 名称、层/版本、系列和容量),请使用 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
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.Sql/servers/databases”

Sku

名字 描述 价值
能力 特定 SKU 的容量。 int
家庭 如果服务具有不同代的硬件(对于同一 SKU,则可以在此处捕获)。 字符串
名字 SKU 的名称,通常为字母 + 数字代码,例如 P3。 string (必需)
大小 特定 SKU 的大小 字符串
特定 SKU 的层或版本,例如基本 SKU、高级版。 字符串

TrackedResourceTags

名字 描述 价值

快速入门模板

以下快速入门模板部署此资源类型。

模板 描述
Azure SQL Server,其中审核写入到 Log Analytics

部署到 Azure
使用此模板,可以部署启用了审核的 Azure SQL Server,以便将审核日志写入 Log Analytics (OMS 工作区)
创建 SQL Server 和数据库

部署到 Azure
使用此模板可以创建 SQL 数据库和服务器。
使用透明加密 专用 SQL 池

部署到 Azure
使用透明数据加密创建 SQL Server 和专用 SQL 池(以前为 SQL DW)。
部署新的 SQL 弹性池

部署到 Azure
使用此模板,可以使用新的关联 SQL Server 和新的 SQL 数据库来部署新的 SQL 弹性池来分配给它。
在 Azure 体系结构 上部署体育分析

部署到 Azure
创建启用了 ADLS Gen 2 的 Azure 存储帐户、存储帐户的链接服务的 Azure 数据工厂实例(如果已部署的 Azure SQL 数据库)和 Azure Databricks 实例。 将为部署模板的用户的 AAD 标识以及 ADF 实例的托管标识授予存储帐户上的存储 Blob 数据参与者角色。 还有一些选项可用于部署 Azure Key Vault 实例、Azure SQL 数据库和 Azure 事件中心(用于流式处理用例)。 部署 Azure Key Vault 后,将为部署模板的用户提供数据工厂托管标识和 AAD 标识,并被授予 Key Vault 机密用户角色。
在 VNET 中使用自定义 Ambari + Hive 元存储 DB HDInsight

部署到 Azure
此模板允许在现有虚拟网络中创建 HDInsight 群集,该群集具有新的 SQL DB,该数据库既充当自定义 Ambari DB,又充当 Hive 元存储。 必须具有现有的 SQL Sever、存储帐户和 VNET。
专用终结点示例

部署到 Azure
此模板演示如何创建指向 Azure SQL Server 的专用终结点
使用 SQL 数据库 预配 Web 应用

部署到 Azure
此模板预配 Web 应用、SQL 数据库、自动缩放设置、警报规则和 App Insights。 它在数据库的 Web 应用中配置连接字符串。
具有高可用性的远程桌面服务

部署到 Azure
此 ARM 模板示例代码将部署具有高可用性的 远程桌面服务 2019 会话集合 实验室。 目标是使用 Windows Server 2019 为远程桌面服务部署完全冗余且高度可用的解决方案。
使用 Azure SQL 在 Linux 上 Sonarqube Docker Web 应用

部署到 Azure
此模板使用官方 Sonarqube 映像在 Azure 应用服务 Web 应用 Linux 容器中部署 Sonarqube,并由 Azure SQL Server 提供支持。
使用托管标识、SQL Server 和 ΑΙ Web 应用

部署到 Azure
为应用 + 数据 + 托管标识 + 监视部署 Azure 基础结构的简单示例
使用 Azure SQL 专用终结点的 WebApp

部署到 Azure
此模板演示如何创建使用指向 Azure SQL Server 的专用终结点的 Web 应用

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署服务器/数据库资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Sql/servers/databases 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/databases@2023-05-01-preview"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  sku = {
    capacity = int
    family = "string"
    name = "string"
    size = "string"
    tier = "string"
  }
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    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
    }
  })
}

属性值

DatabaseIdentity

名字 描述 价值
类型 标识类型 “None”
“UserAssigned”
userAssignedIdentities 要使用的用户分配标识的资源 ID DatabaseIdentityUserAssignedIdentities

DatabaseIdentityUserAssignedIdentities

名字 描述 价值

DatabaseKey

名字 描述 价值

DatabaseProperties

名字 描述 价值
autoPauseDelay 数据库自动暂停的时间(以分钟为单位)。 -1 值表示禁用自动暂停 int
availabilityZone 指定数据库固定到的可用性区域。 '1'
'2'
'3'
“NoPreference”
catalogCollation 元数据目录的排序规则。 “DATABASE_DEFAULT”
“SQL_Latin1_General_CP1_CI_AS”
整理 数据库的排序规则。 字符串
createMode 指定数据库创建模式。

默认值:常规数据库创建。

复制:将数据库创建为现有数据库的副本。 sourceDatabaseId 必须指定为源数据库的资源 ID。

辅助数据库:将数据库创建为现有数据库的次要副本。 sourceDatabaseId 必须指定为现有主数据库的资源 ID。

PointInTimeRestore:通过还原现有数据库的时间点备份来创建数据库。 sourceDatabaseId 必须指定为现有数据库的资源 ID,并且必须指定 restorePointInTime。

恢复:通过还原异地复制的备份来创建数据库。 sourceDatabaseId 必须指定为可恢复的数据库资源 ID 才能还原。

还原:通过还原已删除数据库的备份来创建数据库。 必须指定 sourceDatabaseId。 如果 sourceDatabaseId 是数据库的原始资源 ID,则必须指定 sourceDatabaseDeletionDate。 否则,sourceDatabaseId 必须是可还原删除的数据库资源 ID,并且将忽略 sourceDatabaseDeletionDate。 还可以指定 restorePointInTime,以便从以前的时间点还原。

RestoreLongTermRetentionBackup:通过从长期保留保管库还原来创建数据库。 recoveryServicesRecoveryPointResourceId 必须指定为恢复点资源 ID。

DataWarehouse 版本不支持 Copy、Secondary 和 RestoreLongTermRetentionBackup。
“Copy”
“Default”
“OnlineSecondary”
“PointInTimeRestore”
“Recovery”
“还原”
“RestoreExternalBackup”
“RestoreExternalBackupSecondary”
“RestoreLongTermRetentionBackup”
“Secondary”
elasticPoolId 包含此数据库的弹性池的资源标识符。 字符串
encryptionProtector 如果数据库配置了每个数据库客户管理的密钥,则数据库的 Azure 密钥保管库 URI。 字符串
encryptionProtectorAutoRotation 用于启用或禁用数据库加密保护程序 AKV 密钥自动轮换的标志。 bool
federatedClientId 用于每个数据库 CMK 方案的跨租户的客户端 ID 字符串

约束:
最小长度 = 36
最大长度 = 36
Pattern = ^[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
钥匙 要使用的用户分配标识的资源 ID DatabasePropertiesKeys
licenseType 要申请此数据库的许可证类型。 如果需要许可证,LicenseIncluded,或者 BasePrice 拥有许可证并且有资格获得 Azure 混合权益。 “BasePrice”
“LicenseIncluded”
longTermRetentionBackupResourceId 与此数据库的创建操作关联的长期保留备份的资源标识符。 字符串
maintenanceConfigurationId 分配给数据库的维护配置 ID。 此配置定义维护更新的发生时间。 字符串
manualCutover 在“更新数据库”操作到“超大规模”层期间,是否需要执行客户控制的手动直接转换。

仅当将数据库从业务关键/常规用途/高级/标准层缩放到“超大规模”层时,此属性才适用。

指定 manualCutover 时,缩放操作将等待用户输入触发“超大规模”数据库的直接转换。

若要触发直接转换,请在缩放操作处于等待状态时提供“performCutover”参数。
bool
maxSizeBytes 以字节表示的数据库的最大大小。 int
minCapacity 数据库始终分配的最小容量(如果未暂停) int
performCutover 在缩放操作正在进行期间触发客户控制的手动直接转换。

此属性参数仅适用于随“manualCutover”参数一起启动的缩放操作。

仅当正在将数据库从业务关键/常规用途/高级/标准层缩放到“超大规模”层时,此属性才适用。

指定 performCutover 时,缩放操作将触发直接转换并执行超大规模数据库的角色更改。
bool
preferredEnclaveType 在数据库(即默认或 VBS enclave)上请求的 enclave 类型。 “Default”
“VBS”
readScale 只读路由的状态。 如果启用,将应用程序意向设置为只读的连接在其连接字符串中可能会路由到同一区域中的只读次要副本。 不适用于弹性池中的“超大规模”数据库。 “Disabled”
“Enabled”
recoverableDatabaseId 与此数据库的创建操作关联的可恢复数据库的资源标识符。 字符串
recoveryServicesRecoveryPointId 与此数据库的创建操作关联的恢复点的资源标识符。 字符串
requestedBackupStorageRedundancy 用于存储此数据库的备份的存储帐户类型。 “Geo”
“GeoZone”
“Local”
“Zone”
restorableDroppedDatabaseId 与此数据库的创建操作关联的可还原已删除数据库的资源标识符。 字符串
restorePointInTime 指定将还原以创建新数据库的源数据库的时间点(ISO8601格式)。 字符串
sampleName 创建此数据库时要应用的示例架构的名称。 “AdventureWorksLT”
“WideWorldImportersFull”
“WideWorldImportersStd”
secondaryType 数据库的辅助类型(如果是辅助数据库)。 有效值为 Geo、Named 和 Standby。 “Geo”
“Named”
“待机”
sourceDatabaseDeletionDate 指定删除数据库的时间。 字符串
sourceDatabaseId 与此数据库的创建操作关联的源数据库的资源标识符。 字符串
sourceResourceId 与此数据库的创建操作关联的源的资源标识符。

仅 DataWarehouse 版本支持此属性,并允许跨订阅还原。

指定 sourceResourceId 时,sourceDatabaseId、recoverableDatabaseId、restoreableDroppedDatabaseId 和 sourceDatabaseDeletionDate 不得指定,CreateMode 必须是 PointInTimeRestore、Restore 或 Recover。

createMode 为 PointInTimeRestore 时,sourceResourceId 必须是现有数据库或现有 sql 池的资源 ID,并且必须指定 restorePointInTime。

当 createMode 为 Restore 时,sourceResourceId 必须是可还原的已删除数据库或可还原的已删除 sql 池的资源 ID。

CreateMode 为 Recover 时,sourceResourceId 必须是可恢复数据库或可恢复 SQL 池的资源 ID。

当源订阅属于与目标订阅不同的租户时,“x-ms-authorization-auxiliary”标头必须包含源租户的身份验证令牌。 有关“x-ms-authorization-auxiliary”标头的更多详细信息,请参阅 /azure/azure-resource-manager/management/authenticate-multi-tenant
字符串
useFreeLimit 数据库是否使用免费的每月限制。 在订阅中的一个数据库上允许。 bool
zoneRedundant 此数据库是否为区域冗余,这意味着此数据库的副本将分布在多个可用性区域。 bool

DatabasePropertiesKeys

名字 描述 价值

DatabaseUserIdentity

名字 描述 价值

Microsoft.Sql/servers/databases

名字 描述 价值
身份 数据库的 Azure Active Directory 标识。 DatabaseIdentity
位置 资源位置。 string (必需)
名字 资源名称 string (必需)
parent_id 此资源的父资源的 ID。 类型资源的 ID:服务器
性能 资源属性。 DatabaseProperties
sku 数据库 SKU。

SKU 列表可能因区域和支持产品/服务而异。 若要确定 Azure 区域中订阅可用的 SKU(包括 SKU 名称、层/版本、系列和容量),请使用 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
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.Sql/servers/databases@2023-05-01-preview”

Sku

名字 描述 价值
能力 特定 SKU 的容量。 int
家庭 如果服务具有不同代的硬件(对于同一 SKU,则可以在此处捕获)。 字符串
名字 SKU 的名称,通常为字母 + 数字代码,例如 P3。 string (必需)
大小 特定 SKU 的大小 字符串
特定 SKU 的层或版本,例如基本 SKU、高级版。 字符串

TrackedResourceTags

名字 描述 价值