Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
- Latest
- 2025-02-01-preview
- 2025-01-01
- 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-Ressourcendefinition
Der Ressourcentyp "Server/Datenbanken" kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
- Ressourcengruppen – Siehe Ressourcengruppenbereitstellungsbefehle
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.
Ressourcenformat
Um ein Microsoft zu schaffen. SQL/Server/Datenbanken-Ressource, füge den folgenden Bicep deiner Vorlage hinzu.
resource symbolicname 'Microsoft.Sql/servers/databases@2021-05-01-preview' = {
parent: resourceSymbolicName
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
autoPauseDelay: int
catalogCollation: 'string'
collation: 'string'
createMode: 'string'
elasticPoolId: 'string'
federatedClientId: 'string'
highAvailabilityReplicaCount: int
isLedgerOn: bool
licenseType: 'string'
longTermRetentionBackupResourceId: 'string'
maintenanceConfigurationId: 'string'
maxSizeBytes: int
minCapacity: int
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'
}
}
Eigenschaftswerte
Microsoft. SQL/Server/Datenbanken
| Name | Description | Value |
|---|---|---|
| identity | Die Azure Active Directory-Identität der Datenbank. | DatabaseIdentity |
| location | Ressourcenspeicherort. | Zeichenfolge (erforderlich) |
| name | Der Ressourcenname | Zeichenfolge (erforderlich) |
| parent | In Bicep kann man die Elternressource für eine Kindressource angeben. Sie müssen diese Eigenschaft nur hinzufügen, wenn die untergeordnete Ressource außerhalb der übergeordneten Ressource deklariert wird. Weitere Informationen finden Sie unter Untergeordnete Ressource außerhalb der übergeordneten Ressource. |
Symbolischer Name für Ressource vom Typ: Server |
| properties | Ressourceneigenschaften. | DatabaseProperties |
| sku | Die Datenbank-SKU. Die Liste der SKUs kann je nach Region und Supportangebot variieren. Um die SKUs (einschließlich SKU-Name, Tier/Edition, Familie und Kapazität) zu bestimmen, die Ihrem Abonnement in einer Azure Region zur Verfügung stehen, verwenden Sie die Capabilities_ListByLocation REST API oder einen der folgenden Befehle:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />PowerShellGet-AzSqlServerServiceObjective -Location <> ```` |
Sku |
| tags | Ressourcenetiketten | Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| type | Der Identitätstyp | 'None' 'UserAssigned' |
| userAssignedIdentities | Die Ressourcen-IDs der vom Benutzer zugewiesenen Identitäten, die verwendet werden sollen | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Die Zeit in Minuten, nach der die Datenbank automatisch angehalten wird. Ein Wert von -1 bedeutet, dass die automatische Pause deaktiviert ist. | int |
| catalogCollation | Sortierung des Metadatenkatalogs. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Die Sortierung der Datenbank. | string |
| createMode | Gibt den Modus der Datenbankerstellung an. Standard: regelmäßige Datenbankerstellung. Kopie: Erstellt eine Datenbank als Kopie einer vorhandenen Datenbank. sourceDatabaseId muss als Ressourcen-ID der Quelldatenbank angegeben werden. Sekundär: Erstellt eine Datenbank als sekundäres Replikat einer vorhandenen Datenbank. sourceDatabaseId muss als Ressourcen-ID der vorhandenen primären Datenbank angegeben werden. PointInTimeRestore: Erstellt eine Datenbank durch Wiederherstellen einer Zeitsicherung einer vorhandenen Datenbank. "sourceDatabaseId" muss als Ressourcen-ID der vorhandenen Datenbank angegeben werden, und "restorePointInTime" muss angegeben werden. Wiederherstellung: Erstellt eine Datenbank, indem eine georeplizierte Sicherung wiederhergestellt wird. sourceDatabaseId muss als wiederherstellbare Datenbankressourcen-ID angegeben werden, um wiederherzustellen. Wiederherstellen: Erstellt eine Datenbank durch Wiederherstellen einer Sicherung einer gelöschten Datenbank. sourceDatabaseId muss angegeben werden. Wenn "sourceDatabaseId" die ursprüngliche Ressourcen-ID der Datenbank ist, muss "sourceDatabaseDeletionDate" angegeben werden. Andernfalls muss "sourceDatabaseId" die wiederherstellbare verworfene Datenbankressourcen-ID sein, und "sourceDatabaseDeletionDate" wird ignoriert. restorePointInTime kann auch angegeben werden, um sie von einem früheren Zeitpunkt wiederherzustellen. RestoreLongTermRetentionBackup: Erstellt eine Datenbank, indem sie aus einem langfristigen Aufbewahrungstresor wiederhergestellt wird. recoveryServicesRecoveryPointResourceId muss als Ressourcen-ID des Wiederherstellungspunkts angegeben werden. Copy, Secondary und RestoreLongTermRetentionBackup werden für DataWarehouse Edition nicht unterstützt. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Der Ressourcenbezeichner des elastischen Pools, der diese Datenbank enthält. | string |
| federatedClientId | Client-ID, die für mandantenübergreifendes CMK-Szenario verwendet wird | string Constraints: Min. Länge = 36 Maximale Länge = 36 Muster = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| highAvailabilityReplicaCount | Die Anzahl der sekundären Replikate, die der Datenbank zugeordnet sind, die verwendet werden, um hohe Verfügbarkeit bereitzustellen. Gilt nicht für eine Hyperscale-Datenbank innerhalb eines elastischen Pools. | int |
| isLedgerOn | Ob es sich bei dieser Datenbank um eine Ledgerdatenbank handelt, was bedeutet, dass alle Tabellen in der Datenbank Sachtabellen sind. Hinweis: Der Wert dieser Eigenschaft kann nicht geändert werden, nachdem die Datenbank erstellt wurde. | bool |
| licenseType | Der lizenztyp, der für diese Datenbank gilt.
LicenseIncluded, wenn du eine Lizenz brauchst, oder BasePrice, wenn du eine Lizenz hast und für die Azure-Hybridvorteil berechtigt bist. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Der Ressourcenbezeichner der langfristigen Aufbewahrungssicherung, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| maintenanceConfigurationId | Der Datenbank zugewiesene Wartungskonfigurations-ID. Diese Konfiguration definiert den Zeitraum, in dem die Wartungsupdates auftreten. | string |
| maxSizeBytes | Die maximale Größe der Datenbank, die in Byte ausgedrückt wird. | int |
| minCapacity | Minimale Kapazität, die die Datenbank immer zugewiesen hat, wenn sie nicht angehalten wird | int |
| readScale | Der Status des schreibgeschützten Routings. Wenn aktiviert, können Verbindungen, bei denen die Anwendungsabsicht in ihrer Verbindungszeichenfolge auf Readonly gesetzt ist, an ein readonly-sekundäres Replikat im selben Bereich weitergeleitet werden. Gilt nicht für eine Hyperscale-Datenbank innerhalb eines elastischen Pools. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | Der Ressourcenbezeichner der wiederherstellbaren Datenbank, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| recoveryServicesRecoveryPointId | Der Ressourcenbezeichner des Wiederherstellungspunkts, der dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| requestedBackupStorageRedundancy | Der Speicherkontotyp, der zum Speichern von Sicherungen für diese Datenbank verwendet werden soll. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Der Ressourcenbezeichner der wiederherstellbaren verworfenen Datenbank, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| restorePointInTime | Gibt den Zeitpunkt (ISO8601 Format) der Quelldatenbank an, die wiederhergestellt wird, um die neue Datenbank zu erstellen. | string |
| sampleName | Der Name des Beispielschemas, das beim Erstellen dieser Datenbank angewendet werden soll. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Der sekundäre Typ der Datenbank, wenn es sich um eine sekundäre Datenbank handelt. Gültige Werte sind Geo und Named. | 'Geo' 'Named' |
| sourceDatabaseDeletionDate | Gibt die Uhrzeit an, zu der die Datenbank gelöscht wurde. | string |
| sourceDatabaseId | Der Ressourcenbezeichner der Quelldatenbank, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| sourceResourceId | Der Ressourcenbezeichner der Quelle, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. Wenn "sourceResourceId" angegeben ist, darf "sourceDatabaseId", "recoverableDatabaseId", "restoreableDroppedDatabaseId" und "sourceDatabaseDeletionDate" nicht angegeben werden, und "CreateMode" muss "PointInTimeRestore", "Restore" oder "Recover" sein. Wenn createMode PointInTimeRestore ist, muss sourceResourceId die Ressourcen-ID einer vorhandenen Datenbank oder eines vorhandenen SQL-Pools sein, und RestorePointInTime muss angegeben werden. Wenn createMode wiederhergestellt wird, muss sourceResourceId die Ressourcen-ID der wiederherstellbaren gelöschten Datenbank oder des wiederherstellbaren gelöschten SQL-Pools sein. Wenn createMode wiederhergestellt wird, muss sourceResourceId die Ressourcen-ID der wiederherstellbaren Datenbank oder des wiederherstellbaren SQL-Pools sein. Diese Eigenschaft ermöglicht das Wiederherstellen von Abonnements, die nur für DataWarehouse Edition unterstützt werden. Wenn das Quellabonnement zu einem anderen Mandanten als dem Zielabonnement gehört, muss der Header "x-ms-authorization-auxiliary" Authentifizierungstoken für den Quellmandanten enthalten. Weitere Informationen zum Header "x-ms-authorization-auxiliary" finden Sie unter /azure/azure-resource-manager/management/authenticate-multi-tenant |
string |
| zoneRedundant | Gibt an, ob diese Datenbank zonenredundant ist, was bedeutet, dass die Replikate dieser Datenbank über mehrere Verfügbarkeitszonen verteilt werden. | bool |
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Kapazität der jeweiligen SKU. | int |
| family | Wenn der Dienst über unterschiedliche Hardwaregenerationen verfügt, kann dies für dieselbe SKU hier erfasst werden. | string |
| name | Der Name der SKU, in der Regel ein Buchstabe + Zahlencode, z. B. P3. | Zeichenfolge (erforderlich) |
| size | Größe der jeweiligen SKU | string |
| tier | Die Stufe oder Edition der jeweiligen SKU, z. B. Basic, Premium. | string |
TrackedResourceTags
| Name | Description | Value |
|---|
Verwendungsbeispiele
Bicep-Proben
Ein grundlegendes Beispiel für die Bereitstellung von MS SQL-Datenbank.
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
Die folgenden Azure Verifizierte Module können verwendet werden, um diesen Ressourcentyp bereitzustellen.
| Modul | Description |
|---|---|
| Azure SQL-Datenbank | AVM Resource Module for Azure SQL-Datenbank |
Azure Quickstart Samples
Die folgenden Azure Quickstart-Vorlagen enthalten Bicep Beispiele für die Bereitstellung dieses Ressourcentyps.
| Bicep-Datei | Description |
|---|---|
| Diese Vorlage ermöglicht es Ihnen, einen Azure SQL-Server mit aktiviertem Auditing bereitzustellen, um Audit-Logs in Log Analytics (OMS-Arbeitsbereich) zu schreiben | |
| Erstellen Sie eine SQL Server und Datenbank | Mit dieser Vorlage können Sie SQL-Datenbank und -Server erstellen. |
| Dedizierter SQL-Pool mit transparenter Verschlüsselung | Erstellt einen SQL Server und einen dedizierten SQL-Pool (früher SQL DW) mit Transparent Data Encryption. |
| Bereitstellen Sie die Sports Analytics auf Azure Architektur ein | Erstellt ein Azure-Speicherkonto mit aktiviertem ADLS Gen 2, eine Azure Data Factory-Instanz mit verknüpften Diensten für das Speicherkonto (und die Azure SQL-Datenbank, falls bereitgestellt) und eine Azure Databricks-Instanz. Die AAD-Identität für den Benutzer, der die Vorlage bereitstellt, und die verwaltete Identität für die ADF-Instanz wird der Rolle "Mitwirkender von Speicher-BLOB-Daten" für das Speicherkonto gewährt. Es gibt außerdem Optionen, eine Azure Key Vault-Instanz, eine Azure SQL-Datenbank und einen Azure Event Hub (für Streaming-Anwendungsfälle) bereitzustellen. Wenn ein Azure Key Vault bereitgestellt wird, erhalten die von Data Factory verwaltete Identität und die AAD-Identität des Benutzers, der die Vorlage bereitstellt, die Rolle des Key Vault Secrets User. |
| Private Endpoint Beispiel | Diese Vorlage zeigt, wie man einen privaten Endpunkt erstellt, der auf Azure SQL Server verweist |
| Bereitstellen Sie eine Webanwendung mit einer SQL-Datenbank | Diese Vorlage enthält eine Web App, eine SQL-Datenbank, AutoScale-Einstellungen, Warnungsregeln und App Insights. Es konfiguriert eine Verbindungszeichenfolge in der Webanwendung für die Datenbank. |
| Sonarqube Docker Web App unter Linux mit Azure SQL | Diese Vorlage bereitet Sonarqube in einem Azure App Service Web-App-Linux-Container bereit, wobei das offizielle Sonarqube-Image verwendet wird und von einem Azure SQL Server unterstützt wird. |
| Web App mit Managed Identity, SQL Server und ΑΙ | Ein einfaches Beispiel zur Bereitstellung der Azure-Infrastruktur für App + Daten + verwaltete Identität + Überwachung |
ARM-Vorlagenressourcendefinition
Der Ressourcentyp "Server/Datenbanken" kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
- Ressourcengruppen – Siehe Ressourcengruppenbereitstellungsbefehle
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.
Ressourcenformat
Um ein Microsoft zu schaffen. SQL/Server/Datenbanken-Ressource, füge das folgende JSON deiner Vorlage hinzu.
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2021-05-01-preview",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"autoPauseDelay": "int",
"catalogCollation": "string",
"collation": "string",
"createMode": "string",
"elasticPoolId": "string",
"federatedClientId": "string",
"highAvailabilityReplicaCount": "int",
"isLedgerOn": "bool",
"licenseType": "string",
"longTermRetentionBackupResourceId": "string",
"maintenanceConfigurationId": "string",
"maxSizeBytes": "int",
"minCapacity": "int",
"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"
}
}
Eigenschaftswerte
Microsoft. SQL/Server/Datenbanken
| Name | Description | Value |
|---|---|---|
| apiVersion | Die API-Version | '2021-05-01-preview' |
| identity | Die Azure Active Directory-Identität der Datenbank. | DatabaseIdentity |
| location | Ressourcenspeicherort. | Zeichenfolge (erforderlich) |
| name | Der Ressourcenname | Zeichenfolge (erforderlich) |
| properties | Ressourceneigenschaften. | DatabaseProperties |
| sku | Die Datenbank-SKU. Die Liste der SKUs kann je nach Region und Supportangebot variieren. Um die SKUs (einschließlich SKU-Name, Tier/Edition, Familie und Kapazität) zu bestimmen, die Ihrem Abonnement in einer Azure Region zur Verfügung stehen, verwenden Sie die Capabilities_ListByLocation REST API oder einen der folgenden Befehle:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />PowerShellGet-AzSqlServerServiceObjective -Location <> ```` |
Sku |
| tags | Ressourcenetiketten | Wörterbuch der Tagnamen und -werte. Siehe Tags in Vorlagen |
| type | Der Ressourcentyp | 'Microsoft. SQL/Server/Datenbanken' |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| type | Der Identitätstyp | 'None' 'UserAssigned' |
| userAssignedIdentities | Die Ressourcen-IDs der vom Benutzer zugewiesenen Identitäten, die verwendet werden sollen | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Die Zeit in Minuten, nach der die Datenbank automatisch angehalten wird. Ein Wert von -1 bedeutet, dass die automatische Pause deaktiviert ist. | int |
| catalogCollation | Sortierung des Metadatenkatalogs. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Die Sortierung der Datenbank. | string |
| createMode | Gibt den Modus der Datenbankerstellung an. Standard: regelmäßige Datenbankerstellung. Kopie: Erstellt eine Datenbank als Kopie einer vorhandenen Datenbank. sourceDatabaseId muss als Ressourcen-ID der Quelldatenbank angegeben werden. Sekundär: Erstellt eine Datenbank als sekundäres Replikat einer vorhandenen Datenbank. sourceDatabaseId muss als Ressourcen-ID der vorhandenen primären Datenbank angegeben werden. PointInTimeRestore: Erstellt eine Datenbank durch Wiederherstellen einer Zeitsicherung einer vorhandenen Datenbank. "sourceDatabaseId" muss als Ressourcen-ID der vorhandenen Datenbank angegeben werden, und "restorePointInTime" muss angegeben werden. Wiederherstellung: Erstellt eine Datenbank, indem eine georeplizierte Sicherung wiederhergestellt wird. sourceDatabaseId muss als wiederherstellbare Datenbankressourcen-ID angegeben werden, um wiederherzustellen. Wiederherstellen: Erstellt eine Datenbank durch Wiederherstellen einer Sicherung einer gelöschten Datenbank. sourceDatabaseId muss angegeben werden. Wenn "sourceDatabaseId" die ursprüngliche Ressourcen-ID der Datenbank ist, muss "sourceDatabaseDeletionDate" angegeben werden. Andernfalls muss "sourceDatabaseId" die wiederherstellbare verworfene Datenbankressourcen-ID sein, und "sourceDatabaseDeletionDate" wird ignoriert. restorePointInTime kann auch angegeben werden, um sie von einem früheren Zeitpunkt wiederherzustellen. RestoreLongTermRetentionBackup: Erstellt eine Datenbank, indem sie aus einem langfristigen Aufbewahrungstresor wiederhergestellt wird. recoveryServicesRecoveryPointResourceId muss als Ressourcen-ID des Wiederherstellungspunkts angegeben werden. Copy, Secondary und RestoreLongTermRetentionBackup werden für DataWarehouse Edition nicht unterstützt. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Der Ressourcenbezeichner des elastischen Pools, der diese Datenbank enthält. | string |
| federatedClientId | Client-ID, die für mandantenübergreifendes CMK-Szenario verwendet wird | string Constraints: Min. Länge = 36 Maximale Länge = 36 Muster = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| highAvailabilityReplicaCount | Die Anzahl der sekundären Replikate, die der Datenbank zugeordnet sind, die verwendet werden, um hohe Verfügbarkeit bereitzustellen. Gilt nicht für eine Hyperscale-Datenbank innerhalb eines elastischen Pools. | int |
| isLedgerOn | Ob es sich bei dieser Datenbank um eine Ledgerdatenbank handelt, was bedeutet, dass alle Tabellen in der Datenbank Sachtabellen sind. Hinweis: Der Wert dieser Eigenschaft kann nicht geändert werden, nachdem die Datenbank erstellt wurde. | bool |
| licenseType | Der lizenztyp, der für diese Datenbank gilt.
LicenseIncluded, wenn du eine Lizenz brauchst, oder BasePrice, wenn du eine Lizenz hast und für die Azure-Hybridvorteil berechtigt bist. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Der Ressourcenbezeichner der langfristigen Aufbewahrungssicherung, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| maintenanceConfigurationId | Der Datenbank zugewiesene Wartungskonfigurations-ID. Diese Konfiguration definiert den Zeitraum, in dem die Wartungsupdates auftreten. | string |
| maxSizeBytes | Die maximale Größe der Datenbank, die in Byte ausgedrückt wird. | int |
| minCapacity | Minimale Kapazität, die die Datenbank immer zugewiesen hat, wenn sie nicht angehalten wird | int |
| readScale | Der Status des schreibgeschützten Routings. Wenn aktiviert, können Verbindungen, bei denen die Anwendungsabsicht in ihrer Verbindungszeichenfolge auf Readonly gesetzt ist, an ein readonly-sekundäres Replikat im selben Bereich weitergeleitet werden. Gilt nicht für eine Hyperscale-Datenbank innerhalb eines elastischen Pools. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | Der Ressourcenbezeichner der wiederherstellbaren Datenbank, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| recoveryServicesRecoveryPointId | Der Ressourcenbezeichner des Wiederherstellungspunkts, der dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| requestedBackupStorageRedundancy | Der Speicherkontotyp, der zum Speichern von Sicherungen für diese Datenbank verwendet werden soll. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Der Ressourcenbezeichner der wiederherstellbaren verworfenen Datenbank, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| restorePointInTime | Gibt den Zeitpunkt (ISO8601 Format) der Quelldatenbank an, die wiederhergestellt wird, um die neue Datenbank zu erstellen. | string |
| sampleName | Der Name des Beispielschemas, das beim Erstellen dieser Datenbank angewendet werden soll. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Der sekundäre Typ der Datenbank, wenn es sich um eine sekundäre Datenbank handelt. Gültige Werte sind Geo und Named. | 'Geo' 'Named' |
| sourceDatabaseDeletionDate | Gibt die Uhrzeit an, zu der die Datenbank gelöscht wurde. | string |
| sourceDatabaseId | Der Ressourcenbezeichner der Quelldatenbank, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| sourceResourceId | Der Ressourcenbezeichner der Quelle, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. Wenn "sourceResourceId" angegeben ist, darf "sourceDatabaseId", "recoverableDatabaseId", "restoreableDroppedDatabaseId" und "sourceDatabaseDeletionDate" nicht angegeben werden, und "CreateMode" muss "PointInTimeRestore", "Restore" oder "Recover" sein. Wenn createMode PointInTimeRestore ist, muss sourceResourceId die Ressourcen-ID einer vorhandenen Datenbank oder eines vorhandenen SQL-Pools sein, und RestorePointInTime muss angegeben werden. Wenn createMode wiederhergestellt wird, muss sourceResourceId die Ressourcen-ID der wiederherstellbaren gelöschten Datenbank oder des wiederherstellbaren gelöschten SQL-Pools sein. Wenn createMode wiederhergestellt wird, muss sourceResourceId die Ressourcen-ID der wiederherstellbaren Datenbank oder des wiederherstellbaren SQL-Pools sein. Diese Eigenschaft ermöglicht das Wiederherstellen von Abonnements, die nur für DataWarehouse Edition unterstützt werden. Wenn das Quellabonnement zu einem anderen Mandanten als dem Zielabonnement gehört, muss der Header "x-ms-authorization-auxiliary" Authentifizierungstoken für den Quellmandanten enthalten. Weitere Informationen zum Header "x-ms-authorization-auxiliary" finden Sie unter /azure/azure-resource-manager/management/authenticate-multi-tenant |
string |
| zoneRedundant | Gibt an, ob diese Datenbank zonenredundant ist, was bedeutet, dass die Replikate dieser Datenbank über mehrere Verfügbarkeitszonen verteilt werden. | bool |
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Kapazität der jeweiligen SKU. | int |
| family | Wenn der Dienst über unterschiedliche Hardwaregenerationen verfügt, kann dies für dieselbe SKU hier erfasst werden. | string |
| name | Der Name der SKU, in der Regel ein Buchstabe + Zahlencode, z. B. P3. | Zeichenfolge (erforderlich) |
| size | Größe der jeweiligen SKU | string |
| tier | Die Stufe oder Edition der jeweiligen SKU, z. B. Basic, Premium. | string |
TrackedResourceTags
| Name | Description | Value |
|---|
Verwendungsbeispiele
Azure Quickstart Templates
Die folgenden Azure Quickstart-Vorlagen bereitstellen diesen Ressourcentyp aus.
| Template | Description |
|---|---|
| Diese Vorlage ermöglicht es Ihnen, einen Azure SQL-Server mit aktiviertem Auditing bereitzustellen, um Audit-Logs in Log Analytics (OMS-Arbeitsbereich) zu schreiben | |
|
Erstellen Sie eine SQL Server und Datenbank |
Mit dieser Vorlage können Sie SQL-Datenbank und -Server erstellen. |
|
Dedizierter SQL-Pool mit transparenter Verschlüsselung |
Erstellt einen SQL Server und einen dedizierten SQL-Pool (früher SQL DW) mit Transparent Data Encryption. |
|
Einen neuen SQL Elastic Pool ausrollen |
Diese Vorlage ermöglicht es Ihnen, einen neuen SQL Elastic Pool mit dem zugehörigen SQL Server und neuen SQL-Datenbanken zu installieren. |
|
Bereitstellen Sie die Sports Analytics auf Azure Architektur ein |
Erstellt ein Azure-Speicherkonto mit aktiviertem ADLS Gen 2, eine Azure Data Factory-Instanz mit verknüpften Diensten für das Speicherkonto (und die Azure SQL-Datenbank, falls bereitgestellt) und eine Azure Databricks-Instanz. Die AAD-Identität für den Benutzer, der die Vorlage bereitstellt, und die verwaltete Identität für die ADF-Instanz wird der Rolle "Mitwirkender von Speicher-BLOB-Daten" für das Speicherkonto gewährt. Es gibt außerdem Optionen, eine Azure Key Vault-Instanz, eine Azure SQL-Datenbank und einen Azure Event Hub (für Streaming-Anwendungsfälle) bereitzustellen. Wenn ein Azure Key Vault bereitgestellt wird, erhalten die von Data Factory verwaltete Identität und die AAD-Identität des Benutzers, der die Vorlage bereitstellt, die Rolle des Key Vault Secrets User. |
|
HDInsight mit einer benutzerdefinierten Ambari + Hive Metastore-Datenbank in VNET |
Mit dieser Vorlage können Sie einen HDInsight-Cluster in einem vorhandenen virtuellen Netzwerk mit einer neuen SQL DB erstellen, die sowohl als benutzerdefinierter Ambari DB- als auch hive-Metastore dient. Sie müssen über ein vorhandenes SQL Server-, Speicherkonto und VNET verfügen. |
|
Private Endpoint Beispiel |
Diese Vorlage zeigt, wie man einen privaten Endpunkt erstellt, der auf Azure SQL Server verweist |
|
Bereitstellen Sie eine Webanwendung mit einer SQL-Datenbank |
Diese Vorlage enthält eine Web App, eine SQL-Datenbank, AutoScale-Einstellungen, Warnungsregeln und App Insights. Es konfiguriert eine Verbindungszeichenfolge in der Webanwendung für die Datenbank. |
|
Remotedesktop Dienste mit hoher Verfügbarkeit |
Dieser ARM-Template-Beispielcode bereitstellt ein Remotedesktop Services 2019 Session Collection Labor mit hoher Verfügbarkeit bereit. Das Ziel ist es, eine vollständig redundante, hochverfügbare Lösung für Remotedesktop Services unter Verwendung von Windows Server 2019 bereitzustellen. |
|
Sonarqube Docker Web App unter Linux mit Azure SQL |
Diese Vorlage bereitet Sonarqube in einem Azure App Service Web-App-Linux-Container bereit, wobei das offizielle Sonarqube-Image verwendet wird und von einem Azure SQL Server unterstützt wird. |
|
Web App mit Managed Identity, SQL Server und ΑΙ |
Ein einfaches Beispiel zur Bereitstellung der Azure-Infrastruktur für App + Daten + verwaltete Identität + Überwachung |
|
WebApp verbraucht einen Azure SQL privaten Endpunkt |
Diese Vorlage zeigt, wie man eine Webanwendung erstellt, die einen privaten Endpunkt nutzt, der auf Azure SQL Server verweist |
Terraform -Ressourcendefinition (AzAPI-Anbieter)
Der Ressourcentyp "Server/Datenbanken" kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:
- Ressourcengruppen
Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.
Ressourcenformat
Um ein Microsoft zu schaffen. SQL/Server/Datenbanken-Ressource, fügen Sie folgendes Terraform zu Ihrer Vorlage hinzu.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Sql/servers/databases@2021-05-01-preview"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
autoPauseDelay = int
catalogCollation = "string"
collation = "string"
createMode = "string"
elasticPoolId = "string"
federatedClientId = "string"
highAvailabilityReplicaCount = int
isLedgerOn = bool
licenseType = "string"
longTermRetentionBackupResourceId = "string"
maintenanceConfigurationId = "string"
maxSizeBytes = int
minCapacity = int
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"
}
}
}
Eigenschaftswerte
Microsoft. SQL/Server/Datenbanken
| Name | Description | Value |
|---|---|---|
| identity | Die Azure Active Directory-Identität der Datenbank. | DatabaseIdentity |
| location | Ressourcenspeicherort. | Zeichenfolge (erforderlich) |
| name | Der Ressourcenname | Zeichenfolge (erforderlich) |
| parent_id | Die ID der Ressource, die das übergeordnete Element für diese Ressource ist. | ID für Ressource des Typs: Server |
| properties | Ressourceneigenschaften. | DatabaseProperties |
| sku | Die Datenbank-SKU. Die Liste der SKUs kann je nach Region und Supportangebot variieren. Um die SKUs (einschließlich SKU-Name, Tier/Edition, Familie und Kapazität) zu bestimmen, die Ihrem Abonnement in einer Azure Region zur Verfügung stehen, verwenden Sie die Capabilities_ListByLocation REST API oder einen der folgenden Befehle:azurecli<br />az sql db list-editions -l <location> -o table<br />````<br /><br />PowerShellGet-AzSqlServerServiceObjective -Location <> ```` |
Sku |
| tags | Ressourcenetiketten | Wörterbuch der Tagnamen und -werte. |
| type | Der Ressourcentyp | "Microsoft. sql/servers/databases@2021-05-01-preview" |
DatabaseIdentity
| Name | Description | Value |
|---|---|---|
| type | Der Identitätstyp | 'None' 'UserAssigned' |
| userAssignedIdentities | Die Ressourcen-IDs der vom Benutzer zugewiesenen Identitäten, die verwendet werden sollen | DatabaseIdentityUserAssignedIdentities |
DatabaseIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
DatabaseProperties
| Name | Description | Value |
|---|---|---|
| autoPauseDelay | Die Zeit in Minuten, nach der die Datenbank automatisch angehalten wird. Ein Wert von -1 bedeutet, dass die automatische Pause deaktiviert ist. | int |
| catalogCollation | Sortierung des Metadatenkatalogs. | 'DATABASE_DEFAULT' 'SQL_Latin1_General_CP1_CI_AS' |
| collation | Die Sortierung der Datenbank. | string |
| createMode | Gibt den Modus der Datenbankerstellung an. Standard: regelmäßige Datenbankerstellung. Kopie: Erstellt eine Datenbank als Kopie einer vorhandenen Datenbank. sourceDatabaseId muss als Ressourcen-ID der Quelldatenbank angegeben werden. Sekundär: Erstellt eine Datenbank als sekundäres Replikat einer vorhandenen Datenbank. sourceDatabaseId muss als Ressourcen-ID der vorhandenen primären Datenbank angegeben werden. PointInTimeRestore: Erstellt eine Datenbank durch Wiederherstellen einer Zeitsicherung einer vorhandenen Datenbank. "sourceDatabaseId" muss als Ressourcen-ID der vorhandenen Datenbank angegeben werden, und "restorePointInTime" muss angegeben werden. Wiederherstellung: Erstellt eine Datenbank, indem eine georeplizierte Sicherung wiederhergestellt wird. sourceDatabaseId muss als wiederherstellbare Datenbankressourcen-ID angegeben werden, um wiederherzustellen. Wiederherstellen: Erstellt eine Datenbank durch Wiederherstellen einer Sicherung einer gelöschten Datenbank. sourceDatabaseId muss angegeben werden. Wenn "sourceDatabaseId" die ursprüngliche Ressourcen-ID der Datenbank ist, muss "sourceDatabaseDeletionDate" angegeben werden. Andernfalls muss "sourceDatabaseId" die wiederherstellbare verworfene Datenbankressourcen-ID sein, und "sourceDatabaseDeletionDate" wird ignoriert. restorePointInTime kann auch angegeben werden, um sie von einem früheren Zeitpunkt wiederherzustellen. RestoreLongTermRetentionBackup: Erstellt eine Datenbank, indem sie aus einem langfristigen Aufbewahrungstresor wiederhergestellt wird. recoveryServicesRecoveryPointResourceId muss als Ressourcen-ID des Wiederherstellungspunkts angegeben werden. Copy, Secondary und RestoreLongTermRetentionBackup werden für DataWarehouse Edition nicht unterstützt. |
'Copy' 'Default' 'OnlineSecondary' 'PointInTimeRestore' 'Recovery' 'Restore' 'RestoreExternalBackup' 'RestoreExternalBackupSecondary' 'RestoreLongTermRetentionBackup' 'Secondary' |
| elasticPoolId | Der Ressourcenbezeichner des elastischen Pools, der diese Datenbank enthält. | string |
| federatedClientId | Client-ID, die für mandantenübergreifendes CMK-Szenario verwendet wird | string Constraints: Min. Länge = 36 Maximale Länge = 36 Muster = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| highAvailabilityReplicaCount | Die Anzahl der sekundären Replikate, die der Datenbank zugeordnet sind, die verwendet werden, um hohe Verfügbarkeit bereitzustellen. Gilt nicht für eine Hyperscale-Datenbank innerhalb eines elastischen Pools. | int |
| isLedgerOn | Ob es sich bei dieser Datenbank um eine Ledgerdatenbank handelt, was bedeutet, dass alle Tabellen in der Datenbank Sachtabellen sind. Hinweis: Der Wert dieser Eigenschaft kann nicht geändert werden, nachdem die Datenbank erstellt wurde. | bool |
| licenseType | Der lizenztyp, der für diese Datenbank gilt.
LicenseIncluded, wenn du eine Lizenz brauchst, oder BasePrice, wenn du eine Lizenz hast und für die Azure-Hybridvorteil berechtigt bist. |
'BasePrice' 'LicenseIncluded' |
| longTermRetentionBackupResourceId | Der Ressourcenbezeichner der langfristigen Aufbewahrungssicherung, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| maintenanceConfigurationId | Der Datenbank zugewiesene Wartungskonfigurations-ID. Diese Konfiguration definiert den Zeitraum, in dem die Wartungsupdates auftreten. | string |
| maxSizeBytes | Die maximale Größe der Datenbank, die in Byte ausgedrückt wird. | int |
| minCapacity | Minimale Kapazität, die die Datenbank immer zugewiesen hat, wenn sie nicht angehalten wird | int |
| readScale | Der Status des schreibgeschützten Routings. Wenn aktiviert, können Verbindungen, bei denen die Anwendungsabsicht in ihrer Verbindungszeichenfolge auf Readonly gesetzt ist, an ein readonly-sekundäres Replikat im selben Bereich weitergeleitet werden. Gilt nicht für eine Hyperscale-Datenbank innerhalb eines elastischen Pools. | 'Disabled' 'Enabled' |
| recoverableDatabaseId | Der Ressourcenbezeichner der wiederherstellbaren Datenbank, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| recoveryServicesRecoveryPointId | Der Ressourcenbezeichner des Wiederherstellungspunkts, der dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| requestedBackupStorageRedundancy | Der Speicherkontotyp, der zum Speichern von Sicherungen für diese Datenbank verwendet werden soll. | 'Geo' 'GeoZone' 'Local' 'Zone' |
| restorableDroppedDatabaseId | Der Ressourcenbezeichner der wiederherstellbaren verworfenen Datenbank, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| restorePointInTime | Gibt den Zeitpunkt (ISO8601 Format) der Quelldatenbank an, die wiederhergestellt wird, um die neue Datenbank zu erstellen. | string |
| sampleName | Der Name des Beispielschemas, das beim Erstellen dieser Datenbank angewendet werden soll. | 'AdventureWorksLT' 'WideWorldImportersFull' 'WideWorldImportersStd' |
| secondaryType | Der sekundäre Typ der Datenbank, wenn es sich um eine sekundäre Datenbank handelt. Gültige Werte sind Geo und Named. | 'Geo' 'Named' |
| sourceDatabaseDeletionDate | Gibt die Uhrzeit an, zu der die Datenbank gelöscht wurde. | string |
| sourceDatabaseId | Der Ressourcenbezeichner der Quelldatenbank, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. | string |
| sourceResourceId | Der Ressourcenbezeichner der Quelle, die dem Erstellungsvorgang dieser Datenbank zugeordnet ist. Wenn "sourceResourceId" angegeben ist, darf "sourceDatabaseId", "recoverableDatabaseId", "restoreableDroppedDatabaseId" und "sourceDatabaseDeletionDate" nicht angegeben werden, und "CreateMode" muss "PointInTimeRestore", "Restore" oder "Recover" sein. Wenn createMode PointInTimeRestore ist, muss sourceResourceId die Ressourcen-ID einer vorhandenen Datenbank oder eines vorhandenen SQL-Pools sein, und RestorePointInTime muss angegeben werden. Wenn createMode wiederhergestellt wird, muss sourceResourceId die Ressourcen-ID der wiederherstellbaren gelöschten Datenbank oder des wiederherstellbaren gelöschten SQL-Pools sein. Wenn createMode wiederhergestellt wird, muss sourceResourceId die Ressourcen-ID der wiederherstellbaren Datenbank oder des wiederherstellbaren SQL-Pools sein. Diese Eigenschaft ermöglicht das Wiederherstellen von Abonnements, die nur für DataWarehouse Edition unterstützt werden. Wenn das Quellabonnement zu einem anderen Mandanten als dem Zielabonnement gehört, muss der Header "x-ms-authorization-auxiliary" Authentifizierungstoken für den Quellmandanten enthalten. Weitere Informationen zum Header "x-ms-authorization-auxiliary" finden Sie unter /azure/azure-resource-manager/management/authenticate-multi-tenant |
string |
| zoneRedundant | Gibt an, ob diese Datenbank zonenredundant ist, was bedeutet, dass die Replikate dieser Datenbank über mehrere Verfügbarkeitszonen verteilt werden. | bool |
DatabaseUserIdentity
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | Kapazität der jeweiligen SKU. | int |
| family | Wenn der Dienst über unterschiedliche Hardwaregenerationen verfügt, kann dies für dieselbe SKU hier erfasst werden. | string |
| name | Der Name der SKU, in der Regel ein Buchstabe + Zahlencode, z. B. P3. | Zeichenfolge (erforderlich) |
| size | Größe der jeweiligen SKU | string |
| tier | Die Stufe oder Edition der jeweiligen SKU, z. B. Basic, Premium. | string |
TrackedResourceTags
| Name | Description | Value |
|---|
Verwendungsbeispiele
Terraform-Beispiele
Ein grundlegendes Beispiel für die Bereitstellung von MS SQL-Datenbank.
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 = ["*"]
}
Ein grundlegendes Beispiel für die Bereitstellung von MS SQL-Datenbank.
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 = ["*"]
}