次の方法で共有


Microsoft。Sql servers/databases 2017-10-01-preview

Bicepリソースの定義

サーバー/データベースのリソースの種類は、次を対象とする操作でデプロイできます。

  • リソース グループの - リソース グループのデプロイ コマンド 参照

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoftを作るために。Sql/servers/databases リソースで、テンプレートに以下のBicepを追加してください。

resource symbolicname 'Microsoft.Sql/servers/databases@2017-10-01-preview' = {
  parent: resourceSymbolicName
  location: 'string'
  name: 'string'
  properties: {
    autoPauseDelay: int
    catalogCollation: 'string'
    collation: 'string'
    createMode: 'string'
    elasticPoolId: 'string'
    licenseType: 'string'
    longTermRetentionBackupResourceId: 'string'
    maxSizeBytes: int
    minCapacity: int
    readReplicaCount: int
    readScale: 'string'
    recoverableDatabaseId: 'string'
    recoveryServicesRecoveryPointId: 'string'
    restorableDroppedDatabaseId: 'string'
    restorePointInTime: 'string'
    sampleName: 'string'
    sourceDatabaseDeletionDate: 'string'
    sourceDatabaseId: 'string'
    zoneRedundant: bool
  }
  sku: {
    capacity: int
    family: 'string'
    name: 'string'
    size: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

プロパティ値

Microsoft。SQL/サーバー/データベース

Name Description Value
位置 リソースの場所。 string (必須)
name リソース名 string (必須)
Bicepでは、子リソースの親リソースを指定することができます。 このプロパティを追加する必要があるのは、子リソースが親リソースの外部で宣言されている場合のみです。

詳細については、「親リソースの外部 子リソース」を参照してください。
リソースの象徴名:サーバー
properties リソースのプロパティ。 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 />パワーシェル
Get-AzSqlServerServiceObjective -Location < location>
````
Sku
tags リソース タグ タグ名と値のディクショナリ。 テンプレート の タグを参照してください

DatabaseProperties

Name Description Value
autoPauseDelay データベースが自動的に一時停止されるまでの時間 (分)。 -1 の値は、自動一時停止が無効になっていることを意味します int
catalogCollation メタデータ カタログの照合順序。 'DATABASE_DEFAULT'
'SQL_Latin1_General_CP1_CI_AS'
照合順序 データベースの照合順序。 文字列
createMode データベースの作成モードを指定します。

既定値: 通常のデータベース作成。

コピー: 既存のデータベースのコピーとしてデータベースを作成します。 sourceDatabaseId は、ソース データベースのリソース ID として指定する必要があります。

セカンダリ: 既存のデータベースのセカンダリ レプリカとしてデータベースを作成します。 sourceDatabaseId は、既存のプライマリ データベースのリソース ID として指定する必要があります。

PointInTimeRestore: 既存のデータベースの特定の時点のバックアップを復元してデータベースを作成します。 sourceDatabaseId を既存のデータベースのリソース ID として指定し、restorePointInTime を指定する必要があります。

復旧: geo レプリケートされたバックアップを復元してデータベースを作成します。 sourceDatabaseId は、復元する回復可能なデータベース リソース ID として指定する必要があります。

復元: 削除されたデータベースのバックアップを復元してデータベースを作成します。 sourceDatabaseId を指定する必要があります。 sourceDatabaseId がデータベースの元のリソース ID である場合は、sourceDatabaseDeletionDate を指定する必要があります。 それ以外の場合、sourceDatabaseId は復元可能な破棄されたデータベース リソース ID である必要があり、sourceDatabaseDeletionDate は無視されます。 restorePointInTime は、以前の時点から復元するように指定することもできます。

RestoreLongTermRetentionBackup: 長期保持コンテナーから復元することでデータベースを作成します。 recoveryServicesRecoveryPointResourceId は、復旧ポイントのリソース ID として指定する必要があります。

DataWarehouse エディションでは、コピー、セカンダリ、RestoreLongTermRetentionBackup はサポートされていません。
'Copy'
'Default'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreExternalBackup'
'RestoreExternalBackupSecondary'
'RestoreLongTermRetentionBackup'
'Secondary'
elasticPoolId このデータベースを含むエラスティック プールのリソース識別子。 文字列
licenseType このデータベースに適用するライセンスの種類。 免許が必要な場合はLicenseIncluded、免許を持っていてこのAzure ハイブリッド特典の資格がある場合はBasePriceです。 'BasePrice'
'LicenseIncluded'
longTermRetentionBackupResourceId このデータベースの作成操作に関連付けられている長期保有バックアップのリソース識別子。 文字列
maxSizeBytes バイト単位で表されるデータベースの最大サイズ。 int
minCapacity 一時停止されていない場合、データベースが常に割り当てる最小限の容量 int
readReplicaCount 読み取りonly アプリケーションインテント接続のルーティング先となるデータベースに関連付けられている読み取りオンセカンダリ レプリカの数。 このプロパティは、Hyperscale Edition データベースに対してのみ設定できます。 int
readScale 有効化されている場合、接続文字列でアプリケーション意図が読み取り専用に設定されている接続は、読み取り専用の二次レプリカにルーティングされることがあります。 このプロパティは、Premium および Business Critical データベースでのみ設定できます。 'Disabled'
'Enabled'
recoverableDatabaseId このデータベースの作成操作に関連付けられている回復可能なデータベースのリソース識別子。 文字列
recoveryServicesRecoveryPointId このデータベースの作成操作に関連付けられている復旧ポイントのリソース識別子。 文字列
restorableDroppedDatabaseId このデータベースの作成操作に関連付けられている、復元可能な削除されたデータベースのリソース識別子。 文字列
restorePointInTime 新しいデータベースを作成するために復元されるソース データベースの時点 (ISO8601形式) を指定します。 文字列
sampleName このデータベースの作成時に適用するサンプル スキーマの名前。 'AdventureWorksLT'
'WideWorldImportersFull'
'WideWorldImportersStd'
sourceDatabaseDeletionDate データベースが削除された時刻を指定します。 文字列
sourceDatabaseId このデータベースの作成操作に関連付けられているソース データベースのリソース識別子。 文字列
zoneRedundant このデータベースがゾーン冗長かどうか。つまり、このデータベースのレプリカは複数の可用性ゾーンに分散されます。 bool

Sku

Name Description Value
キャパシティ 特定の SKU の容量。 int
family 同じ SKU に対して、サービスの世代が異なるハードウェアがある場合は、ここでキャプチャできます。 文字列
name SKU の名前 。通常は、文字 + 番号コード (P3 など)。 string (必須)
size 特定の SKU のサイズ 文字列
レベル 特定の SKU のレベルまたはエディション (Basic、Premium など)。 文字列

TrackedResourceTags

Name Description Value

使用例

Bicep サンプル

MS SQL Database のデプロイの基本的な例。

param resourceName string = 'acctest0001'
param location string = 'westeurope'
@secure()
@description('The administrator login password for the SQL server')
param administratorLoginPassword string

resource server 'Microsoft.Sql/servers@2021-02-01-preview' = {
  name: resourceName
  location: location
  properties: {
    administratorLogin: 'mradministrator'
    administratorLoginPassword: null
    minimalTlsVersion: '1.2'
    publicNetworkAccess: 'Enabled'
    restrictOutboundNetworkAccess: 'Disabled'
    version: '12.0'
  }
}

resource database 'Microsoft.Sql/servers/databases@2021-02-01-preview' = {
  parent: server
  name: resourceName
  location: location
  properties: {
    autoPauseDelay: 0
    createMode: 'Default'
    elasticPoolId: ''
    highAvailabilityReplicaCount: 0
    isLedgerOn: false
    licenseType: 'LicenseIncluded'
    maintenanceConfigurationId: resourceId('Microsoft.Maintenance/publicMaintenanceConfigurations', 'SQL_Default')
    minCapacity: 0
    readScale: 'Disabled'
    requestedBackupStorageRedundancy: 'Geo'
    zoneRedundant: false
  }
}

Azure Verified Modules

以下のAzure検証済みモジュールはこのリソースタイプの展開に使用できます。

モジュール Description
Azure SQL Database AVM Resource Module for Azure SQL Database

Azure Quickstart Samples

以下の Azure クイックスタートテンプレートには、このリソースタイプのデプロイのためのBicepサンプルが含まれています。

Bicepファイル Description
Azure SQL Server 監査はLog Analytics このテンプレートを使えば、監査を有効にしたAzure SQLサーバーを展開し、Log Analytics(OMSワークスペース)に監査ログを書き込むことができます
SQL Serverとデータベースを作成 このテンプレートを使用すると、SQL Database とサーバーを作成できます。
Dedicated SQL pool with Transparent Encryption SQL Serverと専用SQLプール(旧SQL DW)を作成し、Transparent Data Encryptionを使用します。
Architecture ADLS Gen 2を有効にしたAzureストレージアカウント、ストレージアカウント用のリンクサービスを持つAzure Data Factoryインスタンス(展開されている場合はAzure SQL Database)、そしてAzure Databricksインスタンスを作成します。 テンプレートをデプロイするユーザーの AAD ID と ADF インスタンスのマネージド ID には、ストレージ アカウントのストレージ BLOB データ共同作成者ロールが付与されます。 また、Azure Key Vaultインスタンス、Azure SQL Database、ストリーミング利用のためのAzure Event Hubを展開するオプションもあります。 Azure Key Vaultが展開されると、テンプレートをデプロイするユーザーのData Factory管理IDとAADアイデンティティにKey Vault Secretsユーザーロールが付与されます。
プライベートエンドポイントの例 このテンプレートはAzure SQL Serverを指すプライベートエンドポイントの作成方法を示しています
SQL Database このテンプレートは、Web アプリ、SQL Database、自動スケール設定、アラート ルール、App Insights をプロビジョニングします。 ウェブアプリ内でデータベース用の接続文字列を設定します。
Sonarqube Docker Web App on Linux with Azure SQL このテンプレートは、公式のSonarqubeイメージを使用し、Azure SQL ServerによってバックアップされたAzure App ServiceのWebアプリLinuxコンテナにSonarqubeをデプロイします。
<マネージド・アイデンティティ、SQL Server、ΑΙWebアプリ> Azure インフラストラクチャを app + data + managed identity + monitoring にデプロイするための簡単な例

ARM テンプレート リソース定義

サーバー/データベースのリソースの種類は、次を対象とする操作でデプロイできます。

  • リソース グループの - リソース グループのデプロイ コマンド 参照

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoftを作るために。SQL/servers/databasesリソース、テンプレートに以下のJSONを追加してください。

{
  "type": "Microsoft.Sql/servers/databases",
  "apiVersion": "2017-10-01-preview",
  "name": "string",
  "location": "string",
  "properties": {
    "autoPauseDelay": "int",
    "catalogCollation": "string",
    "collation": "string",
    "createMode": "string",
    "elasticPoolId": "string",
    "licenseType": "string",
    "longTermRetentionBackupResourceId": "string",
    "maxSizeBytes": "int",
    "minCapacity": "int",
    "readReplicaCount": "int",
    "readScale": "string",
    "recoverableDatabaseId": "string",
    "recoveryServicesRecoveryPointId": "string",
    "restorableDroppedDatabaseId": "string",
    "restorePointInTime": "string",
    "sampleName": "string",
    "sourceDatabaseDeletionDate": "string",
    "sourceDatabaseId": "string",
    "zoneRedundant": "bool"
  },
  "sku": {
    "capacity": "int",
    "family": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

プロパティ値

Microsoft。SQL/サーバー/データベース

Name Description Value
apiVersion API のバージョン '2017-10-01-preview'
位置 リソースの場所。 string (必須)
name リソース名 string (必須)
properties リソースのプロパティ。 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 />パワーシェル
Get-AzSqlServerServiceObjective -Location < location>
````
Sku
tags リソース タグ タグ名と値のディクショナリ。 テンプレート の タグを参照してください
リソースの種類 「Microsoft。SQL/サーバー/データベース

DatabaseProperties

Name Description Value
autoPauseDelay データベースが自動的に一時停止されるまでの時間 (分)。 -1 の値は、自動一時停止が無効になっていることを意味します int
catalogCollation メタデータ カタログの照合順序。 'DATABASE_DEFAULT'
'SQL_Latin1_General_CP1_CI_AS'
照合順序 データベースの照合順序。 文字列
createMode データベースの作成モードを指定します。

既定値: 通常のデータベース作成。

コピー: 既存のデータベースのコピーとしてデータベースを作成します。 sourceDatabaseId は、ソース データベースのリソース ID として指定する必要があります。

セカンダリ: 既存のデータベースのセカンダリ レプリカとしてデータベースを作成します。 sourceDatabaseId は、既存のプライマリ データベースのリソース ID として指定する必要があります。

PointInTimeRestore: 既存のデータベースの特定の時点のバックアップを復元してデータベースを作成します。 sourceDatabaseId を既存のデータベースのリソース ID として指定し、restorePointInTime を指定する必要があります。

復旧: geo レプリケートされたバックアップを復元してデータベースを作成します。 sourceDatabaseId は、復元する回復可能なデータベース リソース ID として指定する必要があります。

復元: 削除されたデータベースのバックアップを復元してデータベースを作成します。 sourceDatabaseId を指定する必要があります。 sourceDatabaseId がデータベースの元のリソース ID である場合は、sourceDatabaseDeletionDate を指定する必要があります。 それ以外の場合、sourceDatabaseId は復元可能な破棄されたデータベース リソース ID である必要があり、sourceDatabaseDeletionDate は無視されます。 restorePointInTime は、以前の時点から復元するように指定することもできます。

RestoreLongTermRetentionBackup: 長期保持コンテナーから復元することでデータベースを作成します。 recoveryServicesRecoveryPointResourceId は、復旧ポイントのリソース ID として指定する必要があります。

DataWarehouse エディションでは、コピー、セカンダリ、RestoreLongTermRetentionBackup はサポートされていません。
'Copy'
'Default'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreExternalBackup'
'RestoreExternalBackupSecondary'
'RestoreLongTermRetentionBackup'
'Secondary'
elasticPoolId このデータベースを含むエラスティック プールのリソース識別子。 文字列
licenseType このデータベースに適用するライセンスの種類。 免許が必要な場合はLicenseIncluded、免許を持っていてこのAzure ハイブリッド特典の資格がある場合はBasePriceです。 'BasePrice'
'LicenseIncluded'
longTermRetentionBackupResourceId このデータベースの作成操作に関連付けられている長期保有バックアップのリソース識別子。 文字列
maxSizeBytes バイト単位で表されるデータベースの最大サイズ。 int
minCapacity 一時停止されていない場合、データベースが常に割り当てる最小限の容量 int
readReplicaCount 読み取りonly アプリケーションインテント接続のルーティング先となるデータベースに関連付けられている読み取りオンセカンダリ レプリカの数。 このプロパティは、Hyperscale Edition データベースに対してのみ設定できます。 int
readScale 有効化されている場合、接続文字列でアプリケーション意図が読み取り専用に設定されている接続は、読み取り専用の二次レプリカにルーティングされることがあります。 このプロパティは、Premium および Business Critical データベースでのみ設定できます。 'Disabled'
'Enabled'
recoverableDatabaseId このデータベースの作成操作に関連付けられている回復可能なデータベースのリソース識別子。 文字列
recoveryServicesRecoveryPointId このデータベースの作成操作に関連付けられている復旧ポイントのリソース識別子。 文字列
restorableDroppedDatabaseId このデータベースの作成操作に関連付けられている、復元可能な削除されたデータベースのリソース識別子。 文字列
restorePointInTime 新しいデータベースを作成するために復元されるソース データベースの時点 (ISO8601形式) を指定します。 文字列
sampleName このデータベースの作成時に適用するサンプル スキーマの名前。 'AdventureWorksLT'
'WideWorldImportersFull'
'WideWorldImportersStd'
sourceDatabaseDeletionDate データベースが削除された時刻を指定します。 文字列
sourceDatabaseId このデータベースの作成操作に関連付けられているソース データベースのリソース識別子。 文字列
zoneRedundant このデータベースがゾーン冗長かどうか。つまり、このデータベースのレプリカは複数の可用性ゾーンに分散されます。 bool

Sku

Name Description Value
キャパシティ 特定の SKU の容量。 int
family 同じ SKU に対して、サービスの世代が異なるハードウェアがある場合は、ここでキャプチャできます。 文字列
name SKU の名前 。通常は、文字 + 番号コード (P3 など)。 string (必須)
size 特定の SKU のサイズ 文字列
レベル 特定の SKU のレベルまたはエディション (Basic、Premium など)。 文字列

TrackedResourceTags

Name Description Value

使用例

Azure Quickstart Templates

以下のAzureクイックスタートテンプレートはこのリソースタイプを展開します。

Template Description
Azure SQL Server 監査はLog Analytics

展開Azure
このテンプレートを使えば、監査を有効にしたAzure SQLサーバーを展開し、Log Analytics(OMSワークスペース)に監査ログを書き込むことができます
SQL Serverとデータベースを作成

展開Azure
このテンプレートを使用すると、SQL Database とサーバーを作成できます。
Dedicated SQL pool with Transparent Encryption

展開Azure
SQL Serverと専用SQLプール(旧SQL DW)を作成し、Transparent Data Encryptionを使用します。
新しいSQLエラスティックプールをデプロイ

展開Azure
このテンプレートにより、新しいSQL Serverや割り当て可能な新しいSQLデータベースを備えた新しいSQLエラスティックプールを展開できます。
Architecture

展開Azure
ADLS Gen 2を有効にしたAzureストレージアカウント、ストレージアカウント用のリンクサービスを持つAzure Data Factoryインスタンス(展開されている場合はAzure SQL Database)、そしてAzure Databricksインスタンスを作成します。 テンプレートをデプロイするユーザーの AAD ID と ADF インスタンスのマネージド ID には、ストレージ アカウントのストレージ BLOB データ共同作成者ロールが付与されます。 また、Azure Key Vaultインスタンス、Azure SQL Database、ストリーミング利用のためのAzure Event Hubを展開するオプションもあります。 Azure Key Vaultが展開されると、テンプレートをデプロイするユーザーのData Factory管理IDとAADアイデンティティにKey Vault Secretsユーザーロールが付与されます。
HDInsightでカスタムAmbari + Hive Metastore DBをVNET

展開Azure
このテンプレートを使用すると、カスタム Ambari DB と Hive Metastore の両方として機能する新しい SQL DB を使用して、既存の仮想ネットワークに HDInsight クラスターを作成できます。 既存の SQL Sever、ストレージ アカウント、VNET が必要です。
プライベートエンドポイントの例

展開Azure
このテンプレートはAzure SQL Serverを指すプライベートエンドポイントの作成方法を示しています
SQL Database

展開Azure
このテンプレートは、Web アプリ、SQL Database、自動スケール設定、アラート ルール、App Insights をプロビジョニングします。 ウェブアプリ内でデータベース用の接続文字列を設定します。
リモート デスクトップ 高可用性サービス

展開Azure
このARMテンプレートのサンプルコードは、リモート デスクトップ Services 2019 Session Collectionラボを高可用性で展開します。 目標は、Windows Server 2019を用いて、完全に冗長で高可用性のリモート デスクトップ Servicesソリューションを展開することです。
Sonarqube Docker Web App on Linux with Azure SQL

展開Azure
このテンプレートは、公式のSonarqubeイメージを使用し、Azure SQL ServerによってバックアップされたAzure App ServiceのWebアプリLinuxコンテナにSonarqubeをデプロイします。
<マネージド・アイデンティティ、SQL Server、ΑΙWebアプリ>

展開Azure
Azure インフラストラクチャを app + data + managed identity + monitoring にデプロイするための簡単な例
WebAppがAzure SQLプライベートエンドポイント

展開Azure
このテンプレートは、Azure SQL Serverを指すプライベートエンドポイントを消費するWebアプリの作成方法を示しています

Terraform (AzAPI プロバイダー) リソース定義

サーバー/データベースのリソースの種類は、次を対象とする操作でデプロイできます。

  • リソース グループ

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoftを作るために。SQL/servers/databasesリソースで、テンプレートに以下のTerraformを追加してください。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/databases@2017-10-01-preview"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      autoPauseDelay = int
      catalogCollation = "string"
      collation = "string"
      createMode = "string"
      elasticPoolId = "string"
      licenseType = "string"
      longTermRetentionBackupResourceId = "string"
      maxSizeBytes = int
      minCapacity = int
      readReplicaCount = int
      readScale = "string"
      recoverableDatabaseId = "string"
      recoveryServicesRecoveryPointId = "string"
      restorableDroppedDatabaseId = "string"
      restorePointInTime = "string"
      sampleName = "string"
      sourceDatabaseDeletionDate = "string"
      sourceDatabaseId = "string"
      zoneRedundant = bool
    }
    sku = {
      capacity = int
      family = "string"
      name = "string"
      size = "string"
      tier = "string"
    }
  }
}

プロパティ値

Microsoft。SQL/サーバー/データベース

Name Description Value
位置 リソースの場所。 string (必須)
name リソース名 string (必須)
parent_id このリソースの親であるリソースの ID。 リソースの種類:サーバーのID
properties リソースのプロパティ。 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 />パワーシェル
Get-AzSqlServerServiceObjective -Location < location>
````
Sku
tags リソース タグ タグ名と値のディクショナリ。
リソースの種類 「Microsoft。Sql/servers/databases@2017-10-01-preview"

DatabaseProperties

Name Description Value
autoPauseDelay データベースが自動的に一時停止されるまでの時間 (分)。 -1 の値は、自動一時停止が無効になっていることを意味します int
catalogCollation メタデータ カタログの照合順序。 'DATABASE_DEFAULT'
'SQL_Latin1_General_CP1_CI_AS'
照合順序 データベースの照合順序。 文字列
createMode データベースの作成モードを指定します。

既定値: 通常のデータベース作成。

コピー: 既存のデータベースのコピーとしてデータベースを作成します。 sourceDatabaseId は、ソース データベースのリソース ID として指定する必要があります。

セカンダリ: 既存のデータベースのセカンダリ レプリカとしてデータベースを作成します。 sourceDatabaseId は、既存のプライマリ データベースのリソース ID として指定する必要があります。

PointInTimeRestore: 既存のデータベースの特定の時点のバックアップを復元してデータベースを作成します。 sourceDatabaseId を既存のデータベースのリソース ID として指定し、restorePointInTime を指定する必要があります。

復旧: geo レプリケートされたバックアップを復元してデータベースを作成します。 sourceDatabaseId は、復元する回復可能なデータベース リソース ID として指定する必要があります。

復元: 削除されたデータベースのバックアップを復元してデータベースを作成します。 sourceDatabaseId を指定する必要があります。 sourceDatabaseId がデータベースの元のリソース ID である場合は、sourceDatabaseDeletionDate を指定する必要があります。 それ以外の場合、sourceDatabaseId は復元可能な破棄されたデータベース リソース ID である必要があり、sourceDatabaseDeletionDate は無視されます。 restorePointInTime は、以前の時点から復元するように指定することもできます。

RestoreLongTermRetentionBackup: 長期保持コンテナーから復元することでデータベースを作成します。 recoveryServicesRecoveryPointResourceId は、復旧ポイントのリソース ID として指定する必要があります。

DataWarehouse エディションでは、コピー、セカンダリ、RestoreLongTermRetentionBackup はサポートされていません。
'Copy'
'Default'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
'RestoreExternalBackup'
'RestoreExternalBackupSecondary'
'RestoreLongTermRetentionBackup'
'Secondary'
elasticPoolId このデータベースを含むエラスティック プールのリソース識別子。 文字列
licenseType このデータベースに適用するライセンスの種類。 免許が必要な場合はLicenseIncluded、免許を持っていてこのAzure ハイブリッド特典の資格がある場合はBasePriceです。 'BasePrice'
'LicenseIncluded'
longTermRetentionBackupResourceId このデータベースの作成操作に関連付けられている長期保有バックアップのリソース識別子。 文字列
maxSizeBytes バイト単位で表されるデータベースの最大サイズ。 int
minCapacity 一時停止されていない場合、データベースが常に割り当てる最小限の容量 int
readReplicaCount 読み取りonly アプリケーションインテント接続のルーティング先となるデータベースに関連付けられている読み取りオンセカンダリ レプリカの数。 このプロパティは、Hyperscale Edition データベースに対してのみ設定できます。 int
readScale 有効化されている場合、接続文字列でアプリケーション意図が読み取り専用に設定されている接続は、読み取り専用の二次レプリカにルーティングされることがあります。 このプロパティは、Premium および Business Critical データベースでのみ設定できます。 'Disabled'
'Enabled'
recoverableDatabaseId このデータベースの作成操作に関連付けられている回復可能なデータベースのリソース識別子。 文字列
recoveryServicesRecoveryPointId このデータベースの作成操作に関連付けられている復旧ポイントのリソース識別子。 文字列
restorableDroppedDatabaseId このデータベースの作成操作に関連付けられている、復元可能な削除されたデータベースのリソース識別子。 文字列
restorePointInTime 新しいデータベースを作成するために復元されるソース データベースの時点 (ISO8601形式) を指定します。 文字列
sampleName このデータベースの作成時に適用するサンプル スキーマの名前。 'AdventureWorksLT'
'WideWorldImportersFull'
'WideWorldImportersStd'
sourceDatabaseDeletionDate データベースが削除された時刻を指定します。 文字列
sourceDatabaseId このデータベースの作成操作に関連付けられているソース データベースのリソース識別子。 文字列
zoneRedundant このデータベースがゾーン冗長かどうか。つまり、このデータベースのレプリカは複数の可用性ゾーンに分散されます。 bool

Sku

Name Description Value
キャパシティ 特定の SKU の容量。 int
family 同じ SKU に対して、サービスの世代が異なるハードウェアがある場合は、ここでキャプチャできます。 文字列
name SKU の名前 。通常は、文字 + 番号コード (P3 など)。 string (必須)
size 特定の SKU のサイズ 文字列
レベル 特定の SKU のレベルまたはエディション (Basic、Premium など)。 文字列

TrackedResourceTags

Name Description Value

使用例

Terraformサンプル

MS SQL Database のデプロイの基本的な例。

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 Database のデプロイの基本的な例。

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    = ["*"]
}