- Latest
- 2024-11-01-preview
- 2024-05-01-preview
- 2023-08-01
- 2023-08-01-preview
- 2023-05-01-preview
- 2023-02-01-preview
- 2022-11-01-preview
- 2022-08-01-preview
- 2022-05-01-preview
- 2022-02-01-preview
- 2021-11-01
- 2021-11-01-preview
- 2021-08-01-preview
- 2021-05-01-preview
- 2021-02-01-preview
- 2020-11-01-preview
- 2020-08-01-preview
- 2020-02-02-preview
- 2019-06-01-preview
- 2017-10-01-preview
- 2017-03-01-preview
- 2014-04-01
Bicep リソース定義
サーバー/データベースのリソースの種類は、次を対象とする操作でデプロイできます。
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Sql/servers/databases リソースを作成するには、次の Bicep をテンプレートに追加します。
resource symbolicname 'Microsoft.Sql/servers/databases@2022-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'
federatedClientId: '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'
zoneRedundant: bool
}
sku: {
capacity: int
family: 'string'
name: 'string'
size: 'string'
tier: 'string'
}
tags: {
{customized property}: 'string'
}
}
プロパティ値
Microsoft.Sql/servers/databases
| Name | Description | Value |
|---|---|---|
| ID | データベースの Azure Active Directory ID。 | DatabaseIdentity |
| 位置 | リソースの場所。 | string (必須) |
| name | リソース名 | string (必須) |
| 親 | Bicep では、子リソースの親リソースを指定できます。 このプロパティを追加する必要があるのは、子リソースが親リソースの外部で宣言されている場合のみです。 詳細については、「親リソースの外部 |
種類のリソースのシンボリック名: サーバー |
| properties | リソースのプロパティ。 | DatabaseProperties |
| sku | データベース SKU。 SKU の一覧は、リージョンとサポート プランによって異なる場合があります。 Azure リージョンのサブスクリプションで使用できる SKU (SKU 名、レベル/エディション、ファミリ、容量を含む) を確認するには、 Capabilities_ListByLocation REST API または次のいずれかのコマンドを使用します。azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />パワーシェルGet-AzSqlServerServiceObjective -Location < location> ```` |
Sku |
| tags | リソース タグ | タグ名と値のディクショナリ。 テンプレート の タグを参照してください |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| 型 | ID の種類 | 'None' 'UserAssigned' |
| userAssignedIdentities | 使用するユーザー割り当て ID のリソース ID | 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' |
| 照合順序 | データベースの照合順序。 | 文字列 |
| 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 | このデータベースを含むエラスティック プールのリソース識別子。 | 文字列 |
| encryptionProtector | データベースカスタマー マネージド キーごとに構成されている場合の、データベースの Azure Key Vault URI。 | 文字列 |
| federatedClientId | データベース CMK ごとのテナント間のシナリオに使用されるクライアント ID | string Constraints: 最小長 = 36 最大長 = 36 パターン = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| highAvailabilityReplicaCount | 高可用性を提供するために使用されるデータベースに関連付けられているセカンダリ レプリカの数。 エラスティック プール内の Hyperscale データベースには適用されません。 | int |
| isLedgerOn | このデータベースが台帳データベースであるかどうかは、データベース内のすべてのテーブルが台帳テーブルであることを意味します。 注: このプロパティの値は、データベースの作成後は変更できません。 | bool |
| keys | 使用するユーザー割り当て ID のリソース ID | DatabasePropertiesKeys |
| licenseType | このデータベースに適用するライセンスの種類。
LicenseIncluded ライセンスが必要な場合は BasePrice 。ライセンスを持っていて、Azure ハイブリッド特典の対象となる場合は。 |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | このデータベースの作成操作に関連付けられている長期保有バックアップのリソース識別子。 | 文字列 |
| maintenanceConfigurationId | データベースに割り当てられたメンテナンス構成 ID。 この構成では、メンテナンスの更新が行われる期間を定義します。 | 文字列 |
| manualCutover | お客様が管理する手動カットオーバーを、データベースの更新操作中に Hyperscale レベルに行う必要があるかどうか。 このプロパティは、データベースを Business Critical/General Purpose/Premium/Standard レベルから Hyperscale レベルにスケーリングする場合にのみ適用されます。 manualCutover を指定すると、スケーリング操作はユーザー入力が Hyperscale データベースへのカットオーバーをトリガーするまで待機します。 カットオーバーをトリガーするには、スケーリング操作が待機状態のときに 'performCutover' パラメーターを指定してください。 |
bool |
| maxSizeBytes | バイト単位で表されるデータベースの最大サイズ。 | int |
| minCapacity | 一時停止されていない場合、データベースが常に割り当てる最小限の容量 | int |
| performCutover | スケーリング操作の進行中に待機状態の間に、顧客が制御する手動カットオーバーをトリガーします。 このプロパティ パラメーターは、'manualCutover' パラメーターと共に開始されるスケーリング操作にのみ適用されます。 このプロパティは、Business Critical/General Purpose/Premium/Standard レベルから Hyperscale レベルへのデータベースのスケーリングが既に進行中の場合にのみ適用されます。 performCutover を指定すると、スケーリング操作によってカットオーバーがトリガーされ、Hyperscale データベースへのロール変更が実行されます。 |
bool |
| preferredEnclaveType | データベースで要求されたエンクレーブの種類 (既定または VBS エンクレーブ)。 | 'Default' 'VBS' |
| readScale | 読み取り専用ルーティングの状態。 有効にした場合、アプリケーションの意図が接続文字列で読み取り専用に設定されている接続は、同じリージョンの読み取り専用セカンダリ レプリカにルーティングされる可能性があります。 エラスティック プール内の Hyperscale データベースには適用されません。 | 'Disabled' 'Enabled' |
| recoverableDatabaseId | このデータベースの作成操作に関連付けられている回復可能なデータベースのリソース識別子。 | 文字列 |
| recoveryServicesRecoveryPointId | このデータベースの作成操作に関連付けられている復旧ポイントのリソース識別子。 | 文字列 |
| requestedBackupStorageRedundancy | このデータベースのバックアップを格納するために使用するストレージ アカウントの種類。 | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | このデータベースの作成操作に関連付けられている、復元可能な削除されたデータベースのリソース識別子。 | 文字列 |
| restorePointInTime | 新しいデータベースを作成するために復元されるソース データベースの時点 (ISO8601形式) を指定します。 | 文字列 |
| sampleName | このデータベースの作成時に適用するサンプル スキーマの名前。 | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | データベースがセカンダリの場合は、そのセカンダリ の種類。 有効な値は Geo、Named、Standby です。 | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | データベースが削除された時刻を指定します。 | 文字列 |
| sourceDatabaseId | このデータベースの作成操作に関連付けられているソース データベースのリソース識別子。 | 文字列 |
| sourceResourceId | このデータベースの作成操作に関連付けられているソースのリソース識別子。 このプロパティは DataWarehouse エディションでのみサポートされており、サブスクリプション間で復元できます。 sourceResourceId が指定されている場合、sourceDatabaseId、recoverableDatabaseId、restorableDroppedDatabaseId、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 に関するページを参照してください。 |
文字列 |
| zoneRedundant | このデータベースがゾーン冗長かどうか。つまり、このデータベースのレプリカは複数の可用性ゾーンに分散されます。 | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| キャパシティ | 特定の SKU の容量。 | int |
| family | 同じ SKU に対して、サービスの世代が異なるハードウェアがある場合は、ここでキャプチャできます。 | 文字列 |
| name | SKU の名前 。通常は、文字 + 番号コード (P3 など)。 | string (必須) |
| size | 特定の SKU のサイズ | 文字列 |
| レベル | 特定の SKU のレベルまたはエディション (Basic、Premium など)。 | 文字列 |
TrackedResourceTags
| Name | Description | Value |
|---|
使用例
Azure クイック スタートのサンプル
次 Azure クイック スタート テンプレート、このリソースの種類をデプロイするための Bicep サンプルが含まれています。
| Bicep ファイル | Description |
|---|---|
| Log Analytics に書き込まれた監査を使用して Azure SQL Server を |
このテンプレートを使用すると、監査が有効になっている Azure SQL サーバーをデプロイして、Log Analytics (OMS ワークスペース) に監査ログを書き込むことができます。 |
| SQL Server とデータベースを作成する | このテンプレートを使用すると、SQL Database とサーバーを作成できます。 |
| Transparent Encryption を使用した専用 SQL プール | Transparent Data Encryption を使用して SQL Server と専用 SQL プール (旧称 SQL DW) を作成します。 |
| Azure アーキテクチャ に Sports Analytics をデプロイする |
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 がデプロイされると、テンプレートをデプロイするユーザーのデータ ファクトリマネージド ID と AAD ID に Key Vault シークレット ユーザー ロールが付与されます。 |
| プライベート エンドポイントの例 | このテンプレートは、Azure SQL Server を指すプライベート エンドポイントを作成する方法を示しています |
| SQL Database を使用して Web アプリをプロビジョニングする | このテンプレートは、Web アプリ、SQL Database、自動スケール設定、アラート ルール、App Insights をプロビジョニングします。 Web アプリでデータベースの接続文字列を構成します。 |
| Azure SQL を使用した Linux 上の Sonarqube Docker Web App | このテンプレートは、公式の Sonarqube イメージを使用して Azure App Service Web アプリ Linux コンテナーに Sonarqube をデプロイし、Azure SQL Server によってサポートされます。 |
| マネージド ID、SQL Server、ΑΙ を使用した Web アプリの | アプリ + データ + マネージド ID + 監視用の Azure インフラストラクチャをデプロイする簡単な例 |
ARM テンプレート リソース定義
サーバー/データベースのリソースの種類は、次を対象とする操作でデプロイできます。
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Sql/servers/databases リソースを作成するには、次の JSON をテンプレートに追加します。
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2022-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",
"federatedClientId": "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",
"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 のバージョン | '2022-11-01-preview' |
| ID | データベースの Azure Active Directory ID。 | DatabaseIdentity |
| 位置 | リソースの場所。 | string (必須) |
| name | リソース名 | string (必須) |
| properties | リソースのプロパティ。 | DatabaseProperties |
| sku | データベース SKU。 SKU の一覧は、リージョンとサポート プランによって異なる場合があります。 Azure リージョンのサブスクリプションで使用できる SKU (SKU 名、レベル/エディション、ファミリ、容量を含む) を確認するには、 Capabilities_ListByLocation REST API または次のいずれかのコマンドを使用します。azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />パワーシェルGet-AzSqlServerServiceObjective -Location < location> ```` |
Sku |
| tags | リソース タグ | タグ名と値のディクショナリ。 テンプレート の タグを参照してください |
| 型 | リソースの種類 | 'Microsoft.Sql/servers/databases' |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| 型 | ID の種類 | 'None' 'UserAssigned' |
| userAssignedIdentities | 使用するユーザー割り当て ID のリソース ID | 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' |
| 照合順序 | データベースの照合順序。 | 文字列 |
| 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 | このデータベースを含むエラスティック プールのリソース識別子。 | 文字列 |
| encryptionProtector | データベースカスタマー マネージド キーごとに構成されている場合の、データベースの Azure Key Vault URI。 | 文字列 |
| federatedClientId | データベース CMK ごとのテナント間のシナリオに使用されるクライアント ID | string Constraints: 最小長 = 36 最大長 = 36 パターン = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| highAvailabilityReplicaCount | 高可用性を提供するために使用されるデータベースに関連付けられているセカンダリ レプリカの数。 エラスティック プール内の Hyperscale データベースには適用されません。 | int |
| isLedgerOn | このデータベースが台帳データベースであるかどうかは、データベース内のすべてのテーブルが台帳テーブルであることを意味します。 注: このプロパティの値は、データベースの作成後は変更できません。 | bool |
| keys | 使用するユーザー割り当て ID のリソース ID | DatabasePropertiesKeys |
| licenseType | このデータベースに適用するライセンスの種類。
LicenseIncluded ライセンスが必要な場合は BasePrice 。ライセンスを持っていて、Azure ハイブリッド特典の対象となる場合は。 |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | このデータベースの作成操作に関連付けられている長期保有バックアップのリソース識別子。 | 文字列 |
| maintenanceConfigurationId | データベースに割り当てられたメンテナンス構成 ID。 この構成では、メンテナンスの更新が行われる期間を定義します。 | 文字列 |
| manualCutover | お客様が管理する手動カットオーバーを、データベースの更新操作中に Hyperscale レベルに行う必要があるかどうか。 このプロパティは、データベースを Business Critical/General Purpose/Premium/Standard レベルから Hyperscale レベルにスケーリングする場合にのみ適用されます。 manualCutover を指定すると、スケーリング操作はユーザー入力が Hyperscale データベースへのカットオーバーをトリガーするまで待機します。 カットオーバーをトリガーするには、スケーリング操作が待機状態のときに 'performCutover' パラメーターを指定してください。 |
bool |
| maxSizeBytes | バイト単位で表されるデータベースの最大サイズ。 | int |
| minCapacity | 一時停止されていない場合、データベースが常に割り当てる最小限の容量 | int |
| performCutover | スケーリング操作の進行中に待機状態の間に、顧客が制御する手動カットオーバーをトリガーします。 このプロパティ パラメーターは、'manualCutover' パラメーターと共に開始されるスケーリング操作にのみ適用されます。 このプロパティは、Business Critical/General Purpose/Premium/Standard レベルから Hyperscale レベルへのデータベースのスケーリングが既に進行中の場合にのみ適用されます。 performCutover を指定すると、スケーリング操作によってカットオーバーがトリガーされ、Hyperscale データベースへのロール変更が実行されます。 |
bool |
| preferredEnclaveType | データベースで要求されたエンクレーブの種類 (既定または VBS エンクレーブ)。 | 'Default' 'VBS' |
| readScale | 読み取り専用ルーティングの状態。 有効にした場合、アプリケーションの意図が接続文字列で読み取り専用に設定されている接続は、同じリージョンの読み取り専用セカンダリ レプリカにルーティングされる可能性があります。 エラスティック プール内の Hyperscale データベースには適用されません。 | 'Disabled' 'Enabled' |
| recoverableDatabaseId | このデータベースの作成操作に関連付けられている回復可能なデータベースのリソース識別子。 | 文字列 |
| recoveryServicesRecoveryPointId | このデータベースの作成操作に関連付けられている復旧ポイントのリソース識別子。 | 文字列 |
| requestedBackupStorageRedundancy | このデータベースのバックアップを格納するために使用するストレージ アカウントの種類。 | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | このデータベースの作成操作に関連付けられている、復元可能な削除されたデータベースのリソース識別子。 | 文字列 |
| restorePointInTime | 新しいデータベースを作成するために復元されるソース データベースの時点 (ISO8601形式) を指定します。 | 文字列 |
| sampleName | このデータベースの作成時に適用するサンプル スキーマの名前。 | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | データベースがセカンダリの場合は、そのセカンダリ の種類。 有効な値は Geo、Named、Standby です。 | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | データベースが削除された時刻を指定します。 | 文字列 |
| sourceDatabaseId | このデータベースの作成操作に関連付けられているソース データベースのリソース識別子。 | 文字列 |
| sourceResourceId | このデータベースの作成操作に関連付けられているソースのリソース識別子。 このプロパティは DataWarehouse エディションでのみサポートされており、サブスクリプション間で復元できます。 sourceResourceId が指定されている場合、sourceDatabaseId、recoverableDatabaseId、restorableDroppedDatabaseId、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 に関するページを参照してください。 |
文字列 |
| zoneRedundant | このデータベースがゾーン冗長かどうか。つまり、このデータベースのレプリカは複数の可用性ゾーンに分散されます。 | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| キャパシティ | 特定の SKU の容量。 | int |
| family | 同じ SKU に対して、サービスの世代が異なるハードウェアがある場合は、ここでキャプチャできます。 | 文字列 |
| name | SKU の名前 。通常は、文字 + 番号コード (P3 など)。 | string (必須) |
| size | 特定の SKU のサイズ | 文字列 |
| レベル | 特定の SKU のレベルまたはエディション (Basic、Premium など)。 | 文字列 |
TrackedResourceTags
| Name | Description | Value |
|---|
使用例
Azure クイックスタート テンプレート
このリソースの種類 デプロイする Azure クイック スタート テンプレート 次に示します。
| Template | Description |
|---|---|
| Log Analytics に書き込まれた監査を使用して Azure SQL Server を |
このテンプレートを使用すると、監査が有効になっている Azure SQL サーバーをデプロイして、Log Analytics (OMS ワークスペース) に監査ログを書き込むことができます。 |
|
SQL Server とデータベースを作成する |
このテンプレートを使用すると、SQL Database とサーバーを作成できます。 |
|
Transparent Encryption を使用した専用 SQL プール |
Transparent Data Encryption を使用して SQL Server と専用 SQL プール (旧称 SQL DW) を作成します。 |
|
新しい SQL エラスティック プールをデプロイする |
このテンプレートを使用すると、新しい SQL エラスティック プールと、それに割り当てる新しい SQL Server と新しい SQL Database をデプロイできます。 |
| Azure アーキテクチャ に Sports Analytics をデプロイする |
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 がデプロイされると、テンプレートをデプロイするユーザーのデータ ファクトリマネージド ID と AAD ID に Key Vault シークレット ユーザー ロールが付与されます。 |
| VNET でカスタム Ambari + Hive メタストア DB を使用して HDInsight を |
このテンプレートを使用すると、カスタム Ambari DB と Hive Metastore の両方として機能する新しい SQL DB を使用して、既存の仮想ネットワークに HDInsight クラスターを作成できます。 既存の SQL Sever、ストレージ アカウント、VNET が必要です。 |
|
プライベート エンドポイントの例 |
このテンプレートは、Azure SQL Server を指すプライベート エンドポイントを作成する方法を示しています |
|
SQL Database を使用して Web アプリをプロビジョニングする |
このテンプレートは、Web アプリ、SQL Database、自動スケール設定、アラート ルール、App Insights をプロビジョニングします。 Web アプリでデータベースの接続文字列を構成します。 |
| 高可用性 を使用したリモート デスクトップ サービスの |
この ARM テンプレートサンプル コードでは、高可用性を備えた Remote Desktop Services 2019 Session Collection ラボをデプロイします。 目標は、Windows Server 2019 を使用して、リモート デスクトップ サービス用の完全冗長で高可用性のソリューションを展開することです。 |
|
Azure SQL を使用した Linux 上の Sonarqube Docker Web App |
このテンプレートは、公式の Sonarqube イメージを使用して Azure App Service Web アプリ Linux コンテナーに Sonarqube をデプロイし、Azure SQL Server によってサポートされます。 |
| マネージド ID、SQL Server、ΑΙ を使用した Web アプリの |
アプリ + データ + マネージド ID + 監視用の Azure インフラストラクチャをデプロイする簡単な例 |
| Azure SQL プライベート エンドポイント を使用する WebApp の |
このテンプレートでは、Azure SQL Server を指すプライベート エンドポイントを使用する Web アプリを作成する方法を示します |
Terraform (AzAPI プロバイダー) リソース定義
サーバー/データベースのリソースの種類は、次を対象とする操作でデプロイできます。
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Sql/servers/databases リソースを作成するには、次の Terraform をテンプレートに追加します。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Sql/servers/databases@2022-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"
federatedClientId = "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"
zoneRedundant = bool
}
sku = {
capacity = int
family = "string"
name = "string"
size = "string"
tier = "string"
}
}
}
プロパティ値
Microsoft.Sql/servers/databases
| Name | Description | Value |
|---|---|---|
| ID | データベースの Azure Active Directory ID。 | DatabaseIdentity |
| 位置 | リソースの場所。 | 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 <location> -o table<br />````<br /><br />パワーシェルGet-AzSqlServerServiceObjective -Location < location> ```` |
Sku |
| tags | リソース タグ | タグ名と値のディクショナリ。 |
| 型 | リソースの種類 | "Microsoft.Sql/servers/databases@2022-11-01-preview" |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| 型 | ID の種類 | 'None' 'UserAssigned' |
| userAssignedIdentities | 使用するユーザー割り当て ID のリソース ID | 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' |
| 照合順序 | データベースの照合順序。 | 文字列 |
| 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 | このデータベースを含むエラスティック プールのリソース識別子。 | 文字列 |
| encryptionProtector | データベースカスタマー マネージド キーごとに構成されている場合の、データベースの Azure Key Vault URI。 | 文字列 |
| federatedClientId | データベース CMK ごとのテナント間のシナリオに使用されるクライアント ID | string Constraints: 最小長 = 36 最大長 = 36 パターン = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| highAvailabilityReplicaCount | 高可用性を提供するために使用されるデータベースに関連付けられているセカンダリ レプリカの数。 エラスティック プール内の Hyperscale データベースには適用されません。 | int |
| isLedgerOn | このデータベースが台帳データベースであるかどうかは、データベース内のすべてのテーブルが台帳テーブルであることを意味します。 注: このプロパティの値は、データベースの作成後は変更できません。 | bool |
| keys | 使用するユーザー割り当て ID のリソース ID | DatabasePropertiesKeys |
| licenseType | このデータベースに適用するライセンスの種類。
LicenseIncluded ライセンスが必要な場合は BasePrice 。ライセンスを持っていて、Azure ハイブリッド特典の対象となる場合は。 |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | このデータベースの作成操作に関連付けられている長期保有バックアップのリソース識別子。 | 文字列 |
| maintenanceConfigurationId | データベースに割り当てられたメンテナンス構成 ID。 この構成では、メンテナンスの更新が行われる期間を定義します。 | 文字列 |
| manualCutover | お客様が管理する手動カットオーバーを、データベースの更新操作中に Hyperscale レベルに行う必要があるかどうか。 このプロパティは、データベースを Business Critical/General Purpose/Premium/Standard レベルから Hyperscale レベルにスケーリングする場合にのみ適用されます。 manualCutover を指定すると、スケーリング操作はユーザー入力が Hyperscale データベースへのカットオーバーをトリガーするまで待機します。 カットオーバーをトリガーするには、スケーリング操作が待機状態のときに 'performCutover' パラメーターを指定してください。 |
bool |
| maxSizeBytes | バイト単位で表されるデータベースの最大サイズ。 | int |
| minCapacity | 一時停止されていない場合、データベースが常に割り当てる最小限の容量 | int |
| performCutover | スケーリング操作の進行中に待機状態の間に、顧客が制御する手動カットオーバーをトリガーします。 このプロパティ パラメーターは、'manualCutover' パラメーターと共に開始されるスケーリング操作にのみ適用されます。 このプロパティは、Business Critical/General Purpose/Premium/Standard レベルから Hyperscale レベルへのデータベースのスケーリングが既に進行中の場合にのみ適用されます。 performCutover を指定すると、スケーリング操作によってカットオーバーがトリガーされ、Hyperscale データベースへのロール変更が実行されます。 |
bool |
| preferredEnclaveType | データベースで要求されたエンクレーブの種類 (既定または VBS エンクレーブ)。 | 'Default' 'VBS' |
| readScale | 読み取り専用ルーティングの状態。 有効にした場合、アプリケーションの意図が接続文字列で読み取り専用に設定されている接続は、同じリージョンの読み取り専用セカンダリ レプリカにルーティングされる可能性があります。 エラスティック プール内の Hyperscale データベースには適用されません。 | 'Disabled' 'Enabled' |
| recoverableDatabaseId | このデータベースの作成操作に関連付けられている回復可能なデータベースのリソース識別子。 | 文字列 |
| recoveryServicesRecoveryPointId | このデータベースの作成操作に関連付けられている復旧ポイントのリソース識別子。 | 文字列 |
| requestedBackupStorageRedundancy | このデータベースのバックアップを格納するために使用するストレージ アカウントの種類。 | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | このデータベースの作成操作に関連付けられている、復元可能な削除されたデータベースのリソース識別子。 | 文字列 |
| restorePointInTime | 新しいデータベースを作成するために復元されるソース データベースの時点 (ISO8601形式) を指定します。 | 文字列 |
| sampleName | このデータベースの作成時に適用するサンプル スキーマの名前。 | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | データベースがセカンダリの場合は、そのセカンダリ の種類。 有効な値は Geo、Named、Standby です。 | 'Geo' 'Named' 'Standby' |
| sourceDatabaseDeletionDate | データベースが削除された時刻を指定します。 | 文字列 |
| sourceDatabaseId | このデータベースの作成操作に関連付けられているソース データベースのリソース識別子。 | 文字列 |
| sourceResourceId | このデータベースの作成操作に関連付けられているソースのリソース識別子。 このプロパティは DataWarehouse エディションでのみサポートされており、サブスクリプション間で復元できます。 sourceResourceId が指定されている場合、sourceDatabaseId、recoverableDatabaseId、restorableDroppedDatabaseId、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 に関するページを参照してください。 |
文字列 |
| zoneRedundant | このデータベースがゾーン冗長かどうか。つまり、このデータベースのレプリカは複数の可用性ゾーンに分散されます。 | bool |
DatabasePropertiesKeys
| Name | Description | Value |
|---|
DatabaseUserIdentity
| Name | Description | Value |
|---|
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 = ["*"]
}