Microsoft. Serwery/bazy danych SQL 2014-04-01

Definicja zasobu Bicepsa

Typ zasobu serwerów/baz danych można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Przykłady użycia

Próbki Bicepsa

Podstawowy przykład wdrożenia bazy danych MS SQL.

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

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

resource database 'Microsoft.Sql/servers/databases@2021-02-01-preview' = {
  name: resourceName
  location: location
  parent: server
  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
  }
}

Moduły zweryfikowane na platformie Azure

Następujące Azure Zweryfikowane moduły mogą być użyte do wdrażania tego typu zasobu.

Moduł Description
Azure SQL Database AVM Resource Module for Azure SQL Database

Przykłady szybkiego startu platformy Azure

Następujące szablony szybkiego startu Azure Quickstart zawierają Bicep przykłady do wdrażania tego typu zasobu.

Plik Bicep Description
Azure SQL Server z Auditingiem napisanym na Log Analytics Ten szablon pozwala wdrożyć serwer Azure SQL z włączonym audytem, aby zapisywać logi audytowe do Log Analytics (przestrzeń robocza OMS)
Stwórz SQL Server i bazę danych Ten szablon umożliwia tworzenie usługi SQL Database i serwera.
Dedykowana pula SQL z przezroczystym szyfrowaniem Tworzy SQL Server oraz dedykowaną pulę SQL (dawniej SQL DW) z Transparent Data Encryption.
Wdrożenie analityki sportowej na Azure architekturze Tworzy konto Azure z włączonym ADLS Gen 2, instancję Azure Data Factory z usługami powiązanymi dla konta pamięci (a także Azure SQL Database, jeśli jest wdrożona) oraz instancję Azure Databricks. Tożsamość usługi AAD dla użytkownika wdrażającego szablon i tożsamość zarządzana dla wystąpienia usługi ADF otrzymają rolę Współautor danych obiektu blob usługi Storage na koncie magazynu. Dostępne są także opcje wdrożenia instancji Azure Key Vault, Azure SQL Database oraz Azure Event Hub (do zastosowań streamingowych). Gdy Azure Key Vault zostanie wdrożony, zarządzana tożsamość data factory oraz tożsamość AAD użytkownika wdrażającego szablon otrzymają rolę użytkownika Key Vault Secrets.
Przykład Private Endpoint Ten szablon pokazuje, jak utworzyć prywatny endpoint wskazujący na Azure SQL Server
Udostępnij aplikację webową bazą danych SQL Ten szablon aprowizuje aplikację internetową, bazę danych SQL Database, ustawienia autoskalowania, reguły alertów i usługę App Insights. Konfiguruje parametry połączenia w aplikacji webowej dla bazy danych.
Sonarqube Docker Web App na Linuksie z Azure SQL Ten szablon wdraża Sonarqube w kontenerze Linux w aplikacji webowej Azure App Service, używając oficjalnego obrazu Sonarqube i wspieranego przez Azure SQL Server.
Web App z Managed Identity, SQL Server i ΑΙ Prosty przykład wdrożenia infrastruktury Azure dla aplikacji + danych + zarządzanej tożsamości + monitorowania

Format zasobu

By stworzyć Microsoft. Zasoby SQL/serwery/bazy danych, dodaj następujący Bicep do swojego szablonu.

resource symbolicname 'Microsoft.Sql/servers/databases@2014-04-01' = {
  parent: resourceSymbolicName
  location: 'string'
  name: 'string'
  properties: {
    collation: 'string'
    createMode: 'string'
    edition: 'string'
    elasticPoolName: 'string'
    maxSizeBytes: 'string'
    readScale: 'string'
    recoveryServicesRecoveryPointResourceId: 'string'
    requestedServiceObjectiveId: 'string'
    requestedServiceObjectiveName: 'string'
    restorePointInTime: 'string'
    sampleName: 'string'
    sourceDatabaseDeletionDate: 'string'
    sourceDatabaseId: 'string'
    zoneRedundant: bool
  }
  tags: {
    {customized property}: 'string'
  }
}

Wartości właściwości

Microsoft. SQL/serwery/bazy danych

Name Description Value
lokalizacja Lokalizacja zasobu. ciąg (wymagany)
name Nazwa zasobu ciąg (wymagany)
nadrzędny W Bicep możesz określić zasób nadrzędny dla zasobu potomnego. Tę właściwość należy dodać tylko wtedy, gdy zasób podrzędny jest zadeklarowany poza zasobem nadrzędnym.

Aby uzyskać więcej informacji, zobacz Zasób podrzędny poza zasobem nadrzędnym.
Nazwa symboliczna zasobu typu: serwery
properties Właściwości reprezentujące zasób. DatabaseProperties
tags Tagi zasobów Słownik nazw tagów i wartości. Zobacz tagi w szablonach

DatabaseProperties

| Nazwa | Opis | Wartość | | ---- | ----------- | ------------ | | sortowanie | Sortowanie bazy danych. Jeśli tryb createMode nie jest domyślny, ta wartość jest ignorowana. | ciąg | | createMode | Określa tryb tworzenia bazy danych.

Ustawienie domyślne: regularne tworzenie bazy danych.

Kopiowanie: tworzy bazę danych jako kopię istniejącej bazy danych. sourceDatabaseId musi być określony jako identyfikator zasobu źródłowej bazy danych.

OnlineSecondary/NonReadableSecondary: tworzy bazę danych jako replikę pomocniczą (czytelną lub nieczytelną) istniejącej bazy danych. sourceDatabaseId musi być określony jako identyfikator zasobu istniejącej podstawowej bazy danych.

PointInTimeRestore: tworzy bazę danych, przywracając kopię zapasową istniejącej bazy danych do punktu w czasie. sourceDatabaseId musi być określony jako identyfikator zasobu istniejącej bazy danych, a element restorePointInTime musi być określony.

Odzyskiwanie: tworzy bazę danych przez przywrócenie kopii zapasowej replikowanej geograficznie. sourceDatabaseId musi być określony jako identyfikator zasobu bazy danych, który można odzyskać, aby przywrócić.

Przywracanie: tworzy bazę danych, przywracając kopię zapasową usuniętej bazy danych. parametr sourceDatabaseId musi być określony. Jeśli sourceDatabaseId jest oryginalnym identyfikatorem zasobu bazy danych, należy określić parametr sourceDatabaseDeletionDate. W przeciwnym razie parametr sourceDatabaseId musi być identyfikatorem usuniętej bazy danych, a parametr sourceDatabaseDeletionDate jest ignorowany. Można również określić element restorePointInTime w celu przywrócenia z wcześniejszego punktu w czasie.

RestoreLongTermRetentionBackup: tworzy bazę danych przez przywrócenie z magazynu przechowywania długoterminowego. recoveryServicesRecoveryPointResourceId musi być określony jako identyfikator zasobu punktu odzyskiwania.

Kopiowanie, NonReadableSecondary, OnlineSecondary i RestoreLongTermRetentionBackup nie są obsługiwane w przypadku wersji DataWarehouse. | "Kopia"
'Default'
'NonReadableSecondary'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
"RestoreLongTermRetentionBackup" | | edition | Wydanie bazy danych. Wyliczenie DatabaseEditions zawiera wszystkie prawidłowe wersje. Jeśli parametr createMode to NonReadableSecondary lub OnlineSecondary, ta wartość jest ignorowana.

Lista jednostek SKU może się różnić w zależności od regionu i oferty pomocy technicznej. Aby określić SKU (w tym nazwę SKU, tier/edition, rodzinę i pojemność) dostępne dla Twojej subskrypcji w regionie Azure, użyj API REST Capabilities_ListByLocation lub jednego z następujących poleceń:

azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />````<br /><br />Program PowerShell
<lokalizacja Get-AzSqlServerServiceObjective -Location>
| 'Basic'<br />'Business'<br />'BusinessCritical'<br />'DataWarehouse'<br />'Free'<br />'GeneralPurpose'<br />'Hyperscale'<br />'Premium'<br />'PremiumRS'<br />'Standard'<br />'Stretch'<br />'System'<br />'System2'<br />'Web' | | elasticPoolName | The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition. | string | | maxSizeBytes | The max size of the database expressed in bytes. If createMode is not Default, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: "Capabilities_ListByLocation." | string | | readScale | Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition. | 'Disabled'<br />'Enabled' | | recoveryServicesRecoveryPointResourceId | Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from. | string | | requestedServiceObjectiveId | The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName.<br /><br />The list of SKUs may vary by region and support offer. To determine the service objective ids that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API. | string <br /><br />Constraints:<br />Min length = 36<br />Max length = 36<br />Pattern = `^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$` | | requestedServiceObjectiveName | The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. <br /><br />The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:<br /><br />```azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />

```powershell
<lokalizacja Get-AzSqlServerServiceObjective -Location>
```` | "Podstawowa"
'DS100'
'DS1000'
'DS1200'
'DS1500'
'DS200'
'DS2000'
'DS300'
'DS400'
'DS500'
'DS600'
'DW100'
'DW1000'
'DW10000c'
'DW1000c'
'DW1200'
'DW1500'
'DW15000c'
'DW1500c'
'DW200'
'DW2000'
'DW2000c'
'DW2500c'
'DW300'
'DW3000'
'DW30000c'
'DW3000c'
'DW400'
'DW500'
'DW5000c'
'DW600'
'DW6000'
'DW6000c'
'DW7500c'
'ElasticPool'
'Free'
'P1'
'P11'
'P15'
'P2'
'P3'
'P4'
'P6'
'PRS1'
'PRS2'
'PRS4'
'PRS6'
'S0'
'S1'
'S12'
'S2'
'S3'
'S4'
'S6'
'S7'
'S9'
'System'
'System0'
'System1'
'System2'
'System2L'
'System3'
'System3L'
'System4'
"System4L" | | restorePointInTime | Warunkowy. Jeśli parametr createMode to PointInTimeRestore, ta wartość jest wymagana. Jeśli parametr createMode to Restore, ta wartość jest opcjonalna. Określa punkt w czasie (ISO8601 format) źródłowej bazy danych, która zostanie przywrócona w celu utworzenia nowej bazy danych. Musi być większa lub równa najwcześniejszej wartości źródłowej bazy danychRestoreDate. | ciąg | | sampleName | Wskazuje nazwę przykładowego schematu, który ma być stosowany podczas tworzenia tej bazy danych. Jeśli tryb createMode nie jest domyślny, ta wartość jest ignorowana. Nieobsługiwane w przypadku wersji DataWarehouse. | 'AdventureWorksLT' | | sourceDatabaseDeletionDate | Warunkowy. Jeśli parametr createMode to Restore i sourceDatabaseId jest oryginalnym identyfikatorem zasobu usuniętej bazy danych, gdy istniał (w przeciwieństwie do bieżącego identyfikatora porzuconej bazy danych możliwej do przywrócenia), ta wartość jest wymagana. Określa czas usunięcia bazy danych. | ciąg | | sourceDatabaseId | Warunkowy. Jeśli parametr createMode to Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery lub Restore, ta wartość jest wymagana. Określa identyfikator zasobu źródłowej bazy danych. Jeśli parametr createMode to NonReadableSecondary lub OnlineSecondary, nazwa źródłowej bazy danych musi być taka sama jak tworzona nowa baza danych. | ciąg | | zoneRedundant | Niezależnie od tego, czy ta baza danych jest strefowo nadmiarowa, co oznacza, że repliki tej bazy danych będą rozłożone na wiele stref dostępności. | bool |

TrackedResourceTags

Name Description Value

Definicja zasobu szablonu usługi ARM

Typ zasobu serwerów/baz danych można wdrożyć przy użyciu operacji docelowych:

Przykłady użycia

Szablony szybkiego startu platformy Azure

Następujące Azure szablony szybkiego startu wdrażają ten typ zasobu.

Template Description
Azure SQL Server z Auditingiem napisanym na Log Analytics

Wdrażaj do Azure
Ten szablon pozwala wdrożyć serwer Azure SQL z włączonym audytem, aby zapisywać logi audytowe do Log Analytics (przestrzeń robocza OMS)
Stwórz SQL Server i bazę danych

Wdrażaj do Azure
Ten szablon umożliwia tworzenie usługi SQL Database i serwera.
Dedykowana pula SQL z przezroczystym szyfrowaniem

Wdrażaj do Azure
Tworzy SQL Server oraz dedykowaną pulę SQL (dawniej SQL DW) z Transparent Data Encryption.
Wdrożenie nowego SQL Elastic Pool

Wdrażaj do Azure
Ten szablon pozwala wdrożyć nową SQL Elastic Pool z nowym powiązanym SQL Server oraz nowymi bazami danych SQL do przypisania.
Wdrożenie analityki sportowej na Azure architekturze

Wdrażaj do Azure
Tworzy konto Azure z włączonym ADLS Gen 2, instancję Azure Data Factory z usługami powiązanymi dla konta pamięci (a także Azure SQL Database, jeśli jest wdrożona) oraz instancję Azure Databricks. Tożsamość usługi AAD dla użytkownika wdrażającego szablon i tożsamość zarządzana dla wystąpienia usługi ADF otrzymają rolę Współautor danych obiektu blob usługi Storage na koncie magazynu. Dostępne są także opcje wdrożenia instancji Azure Key Vault, Azure SQL Database oraz Azure Event Hub (do zastosowań streamingowych). Gdy Azure Key Vault zostanie wdrożony, zarządzana tożsamość data factory oraz tożsamość AAD użytkownika wdrażającego szablon otrzymają rolę użytkownika Key Vault Secrets.
HDInsight z niestandardową bazą Ambari + Hive Metastore w VNET

Wdrażaj do Azure
Ten szablon umożliwia utworzenie klastra usługi HDInsight w istniejącej sieci wirtualnej przy użyciu nowej bazy danych SQL, która służy zarówno jako niestandardowa baza danych Ambari DB, jak i magazyn metadanych Hive. Musisz mieć istniejący serwer SQL, konto magazynu i sieć wirtualną.
Przykład Private Endpoint

Wdrażaj do Azure
Ten szablon pokazuje, jak utworzyć prywatny endpoint wskazujący na Azure SQL Server
Udostępnij aplikację webową bazą danych SQL

Wdrażaj do Azure
Ten szablon aprowizuje aplikację internetową, bazę danych SQL Database, ustawienia autoskalowania, reguły alertów i usługę App Insights. Konfiguruje parametry połączenia w aplikacji webowej dla bazy danych.
Remote Desktop Usługi o wysokiej dostępności

Wdrażaj do Azure
Ten przykładowy kod szablonu ARM wdroży laboratorium Remote Desktop Services 2019 Session Collection o wysokiej dostępności. Celem jest wdrożenie w pełni redundantnego, wysoce dostępnego rozwiązania dla Remote Desktop Services, wykorzystującego Windows Server 2019.
Sonarqube Docker Web App na Linuksie z Azure SQL

Wdrażaj do Azure
Ten szablon wdraża Sonarqube w kontenerze Linux w aplikacji webowej Azure App Service, używając oficjalnego obrazu Sonarqube i wspieranego przez Azure SQL Server.
Web App z Managed Identity, SQL Server i ΑΙ

Wdrażaj do Azure
Prosty przykład wdrożenia infrastruktury Azure dla aplikacji + danych + zarządzanej tożsamości + monitorowania
WebApp konsumujący Azure SQL Private Endpoint

Wdrażaj do Azure
Ten szablon pokazuje, jak stworzyć aplikację webową, która korzysta z prywatnego punktu końcowego wskazującego na Azure SQL Server

Format zasobu

By stworzyć Microsoft. Zasoby SQL/serwery/bazy danych, dodaj do szablonu następujący JSON.

{
  "type": "Microsoft.Sql/servers/databases",
  "apiVersion": "2014-04-01",
  "name": "string",
  "location": "string",
  "properties": {
    "collation": "string",
    "createMode": "string",
    "edition": "string",
    "elasticPoolName": "string",
    "maxSizeBytes": "string",
    "readScale": "string",
    "recoveryServicesRecoveryPointResourceId": "string",
    "requestedServiceObjectiveId": "string",
    "requestedServiceObjectiveName": "string",
    "restorePointInTime": "string",
    "sampleName": "string",
    "sourceDatabaseDeletionDate": "string",
    "sourceDatabaseId": "string",
    "zoneRedundant": "bool"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Wartości właściwości

Microsoft. SQL/serwery/bazy danych

Name Description Value
apiVersion Wersja interfejsu API '2014-04-01'
lokalizacja Lokalizacja zasobu. ciąg (wymagany)
name Nazwa zasobu ciąg (wymagany)
properties Właściwości reprezentujące zasób. DatabaseProperties
tags Tagi zasobów Słownik nazw tagów i wartości. Zobacz tagi w szablonach
typ Typ zasobu 'Microsoft. SQL/serwery/bazy danych'

DatabaseProperties

| Nazwa | Opis | Wartość | | ---- | ----------- | ------------ | | sortowanie | Sortowanie bazy danych. Jeśli tryb createMode nie jest domyślny, ta wartość jest ignorowana. | ciąg | | createMode | Określa tryb tworzenia bazy danych.

Ustawienie domyślne: regularne tworzenie bazy danych.

Kopiowanie: tworzy bazę danych jako kopię istniejącej bazy danych. sourceDatabaseId musi być określony jako identyfikator zasobu źródłowej bazy danych.

OnlineSecondary/NonReadableSecondary: tworzy bazę danych jako replikę pomocniczą (czytelną lub nieczytelną) istniejącej bazy danych. sourceDatabaseId musi być określony jako identyfikator zasobu istniejącej podstawowej bazy danych.

PointInTimeRestore: tworzy bazę danych, przywracając kopię zapasową istniejącej bazy danych do punktu w czasie. sourceDatabaseId musi być określony jako identyfikator zasobu istniejącej bazy danych, a element restorePointInTime musi być określony.

Odzyskiwanie: tworzy bazę danych przez przywrócenie kopii zapasowej replikowanej geograficznie. sourceDatabaseId musi być określony jako identyfikator zasobu bazy danych, który można odzyskać, aby przywrócić.

Przywracanie: tworzy bazę danych, przywracając kopię zapasową usuniętej bazy danych. parametr sourceDatabaseId musi być określony. Jeśli sourceDatabaseId jest oryginalnym identyfikatorem zasobu bazy danych, należy określić parametr sourceDatabaseDeletionDate. W przeciwnym razie parametr sourceDatabaseId musi być identyfikatorem usuniętej bazy danych, a parametr sourceDatabaseDeletionDate jest ignorowany. Można również określić element restorePointInTime w celu przywrócenia z wcześniejszego punktu w czasie.

RestoreLongTermRetentionBackup: tworzy bazę danych przez przywrócenie z magazynu przechowywania długoterminowego. recoveryServicesRecoveryPointResourceId musi być określony jako identyfikator zasobu punktu odzyskiwania.

Kopiowanie, NonReadableSecondary, OnlineSecondary i RestoreLongTermRetentionBackup nie są obsługiwane w przypadku wersji DataWarehouse. | "Kopia"
'Default'
'NonReadableSecondary'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
"RestoreLongTermRetentionBackup" | | edition | Wydanie bazy danych. Wyliczenie DatabaseEditions zawiera wszystkie prawidłowe wersje. Jeśli parametr createMode to NonReadableSecondary lub OnlineSecondary, ta wartość jest ignorowana.

Lista jednostek SKU może się różnić w zależności od regionu i oferty pomocy technicznej. Aby określić SKU (w tym nazwę SKU, tier/edition, rodzinę i pojemność) dostępne dla Twojej subskrypcji w regionie Azure, użyj API REST Capabilities_ListByLocation lub jednego z następujących poleceń:

azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />````<br /><br />Program PowerShell
<lokalizacja Get-AzSqlServerServiceObjective -Location>
| 'Basic'<br />'Business'<br />'BusinessCritical'<br />'DataWarehouse'<br />'Free'<br />'GeneralPurpose'<br />'Hyperscale'<br />'Premium'<br />'PremiumRS'<br />'Standard'<br />'Stretch'<br />'System'<br />'System2'<br />'Web' | | elasticPoolName | The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition. | string | | maxSizeBytes | The max size of the database expressed in bytes. If createMode is not Default, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: "Capabilities_ListByLocation." | string | | readScale | Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition. | 'Disabled'<br />'Enabled' | | recoveryServicesRecoveryPointResourceId | Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from. | string | | requestedServiceObjectiveId | The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName.<br /><br />The list of SKUs may vary by region and support offer. To determine the service objective ids that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API. | string <br /><br />Constraints:<br />Min length = 36<br />Max length = 36<br />Pattern = `^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$` | | requestedServiceObjectiveName | The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. <br /><br />The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:<br /><br />```azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />

```powershell
<lokalizacja Get-AzSqlServerServiceObjective -Location>
```` | "Podstawowa"
'DS100'
'DS1000'
'DS1200'
'DS1500'
'DS200'
'DS2000'
'DS300'
'DS400'
'DS500'
'DS600'
'DW100'
'DW1000'
'DW10000c'
'DW1000c'
'DW1200'
'DW1500'
'DW15000c'
'DW1500c'
'DW200'
'DW2000'
'DW2000c'
'DW2500c'
'DW300'
'DW3000'
'DW30000c'
'DW3000c'
'DW400'
'DW500'
'DW5000c'
'DW600'
'DW6000'
'DW6000c'
'DW7500c'
'ElasticPool'
'Free'
'P1'
'P11'
'P15'
'P2'
'P3'
'P4'
'P6'
'PRS1'
'PRS2'
'PRS4'
'PRS6'
'S0'
'S1'
'S12'
'S2'
'S3'
'S4'
'S6'
'S7'
'S9'
'System'
'System0'
'System1'
'System2'
'System2L'
'System3'
'System3L'
'System4'
"System4L" | | restorePointInTime | Warunkowy. Jeśli parametr createMode to PointInTimeRestore, ta wartość jest wymagana. Jeśli parametr createMode to Restore, ta wartość jest opcjonalna. Określa punkt w czasie (ISO8601 format) źródłowej bazy danych, która zostanie przywrócona w celu utworzenia nowej bazy danych. Musi być większa lub równa najwcześniejszej wartości źródłowej bazy danychRestoreDate. | ciąg | | sampleName | Wskazuje nazwę przykładowego schematu, który ma być stosowany podczas tworzenia tej bazy danych. Jeśli tryb createMode nie jest domyślny, ta wartość jest ignorowana. Nieobsługiwane w przypadku wersji DataWarehouse. | 'AdventureWorksLT' | | sourceDatabaseDeletionDate | Warunkowy. Jeśli parametr createMode to Restore i sourceDatabaseId jest oryginalnym identyfikatorem zasobu usuniętej bazy danych, gdy istniał (w przeciwieństwie do bieżącego identyfikatora porzuconej bazy danych możliwej do przywrócenia), ta wartość jest wymagana. Określa czas usunięcia bazy danych. | ciąg | | sourceDatabaseId | Warunkowy. Jeśli parametr createMode to Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery lub Restore, ta wartość jest wymagana. Określa identyfikator zasobu źródłowej bazy danych. Jeśli parametr createMode to NonReadableSecondary lub OnlineSecondary, nazwa źródłowej bazy danych musi być taka sama jak tworzona nowa baza danych. | ciąg | | zoneRedundant | Niezależnie od tego, czy ta baza danych jest strefowo nadmiarowa, co oznacza, że repliki tej bazy danych będą rozłożone na wiele stref dostępności. | bool |

TrackedResourceTags

Name Description Value

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu serwerów/baz danych można wdrożyć przy użyciu operacji docelowych:

  • Grupy zasobów Listę zmienionych właściwości w każdej wersji API można znaleźć w dzienniku zmian.

Przykłady użycia

Przykłady programu Terraform

Podstawowy przykład wdrożenia bazy danych MS SQL.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
    azurerm = {
      source = "hashicorp/azurerm"
    }
  }
}

provider "azurerm" {
  features {
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

variable "administrator_login_password" {
  type        = string
  description = "The administrator login password for the SQL server"
  sensitive   = true
}

data "azurerm_client_config" "current" {
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "server" {
  type      = "Microsoft.Sql/servers@2021-02-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      administratorLogin            = "mradministrator"
      administratorLoginPassword    = var.administrator_login_password
      minimalTlsVersion             = "1.2"
      publicNetworkAccess           = "Enabled"
      restrictOutboundNetworkAccess = "Disabled"
      version                       = "12.0"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_resource_id" "publicMaintenanceConfiguration" {
  type      = "Microsoft.Maintenance/publicMaintenanceConfigurations@2023-04-01"
  parent_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}"
  name      = "SQL_Default"
}

resource "azapi_resource" "database" {
  type      = "Microsoft.Sql/servers/databases@2021-02-01-preview"
  parent_id = azapi_resource.server.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      autoPauseDelay                   = 0
      createMode                       = "Default"
      elasticPoolId                    = ""
      highAvailabilityReplicaCount     = 0
      isLedgerOn                       = false
      licenseType                      = "LicenseIncluded"
      maintenanceConfigurationId       = data.azapi_resource_id.publicMaintenanceConfiguration.id
      minCapacity                      = 0
      readScale                        = "Disabled"
      requestedBackupStorageRedundancy = "Geo"
      zoneRedundant                    = false
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Podstawowy przykład wdrożenia bazy danych MS SQL.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
    azurerm = {
      source = "hashicorp/azurerm"
    }
  }
}

provider "azurerm" {
  features {
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

variable "administrator_login_password" {
  type        = string
  description = "The administrator login password for the SQL server"
  sensitive   = true
}

data "azurerm_client_config" "current" {
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "server" {
  type      = "Microsoft.Sql/servers@2021-02-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      administratorLogin            = "mradministrator"
      administratorLoginPassword    = var.administrator_login_password
      minimalTlsVersion             = "1.2"
      publicNetworkAccess           = "Enabled"
      restrictOutboundNetworkAccess = "Disabled"
      version                       = "12.0"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_resource_id" "publicMaintenanceConfiguration" {
  type      = "Microsoft.Maintenance/publicMaintenanceConfigurations@2023-04-01"
  parent_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}"
  name      = "SQL_Default"
}

resource "azapi_resource" "database" {
  type      = "Microsoft.Sql/servers/databases@2021-02-01-preview"
  parent_id = azapi_resource.server.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      autoPauseDelay                   = 0
      createMode                       = "Default"
      elasticPoolId                    = ""
      highAvailabilityReplicaCount     = 0
      isLedgerOn                       = false
      licenseType                      = "LicenseIncluded"
      maintenanceConfigurationId       = data.azapi_resource_id.publicMaintenanceConfiguration.id
      minCapacity                      = 0
      readScale                        = "Disabled"
      requestedBackupStorageRedundancy = "Geo"
      zoneRedundant                    = false
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Format zasobu

By stworzyć Microsoft. Zasoby SQL/serwery/bazy danych, dodaj następujący Terraform do swojego szablonu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/databases@2014-04-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      collation = "string"
      createMode = "string"
      edition = "string"
      elasticPoolName = "string"
      maxSizeBytes = "string"
      readScale = "string"
      recoveryServicesRecoveryPointResourceId = "string"
      requestedServiceObjectiveId = "string"
      requestedServiceObjectiveName = "string"
      restorePointInTime = "string"
      sampleName = "string"
      sourceDatabaseDeletionDate = "string"
      sourceDatabaseId = "string"
      zoneRedundant = bool
    }
  }
}

Wartości właściwości

Microsoft. SQL/serwery/bazy danych

Name Description Value
lokalizacja Lokalizacja zasobu. ciąg (wymagany)
name Nazwa zasobu ciąg (wymagany)
parent_id Identyfikator zasobu, który jest elementem nadrzędnym dla tego zasobu. Identyfikator zasobu typu: serwerów
properties Właściwości reprezentujące zasób. DatabaseProperties
tags Tagi zasobów Słownik nazw tagów i wartości.
typ Typ zasobu "Microsoft. Sql/serwery/databases@2014-04-01"

DatabaseProperties

| Nazwa | Opis | Wartość | | ---- | ----------- | ------------ | | sortowanie | Sortowanie bazy danych. Jeśli tryb createMode nie jest domyślny, ta wartość jest ignorowana. | ciąg | | createMode | Określa tryb tworzenia bazy danych.

Ustawienie domyślne: regularne tworzenie bazy danych.

Kopiowanie: tworzy bazę danych jako kopię istniejącej bazy danych. sourceDatabaseId musi być określony jako identyfikator zasobu źródłowej bazy danych.

OnlineSecondary/NonReadableSecondary: tworzy bazę danych jako replikę pomocniczą (czytelną lub nieczytelną) istniejącej bazy danych. sourceDatabaseId musi być określony jako identyfikator zasobu istniejącej podstawowej bazy danych.

PointInTimeRestore: tworzy bazę danych, przywracając kopię zapasową istniejącej bazy danych do punktu w czasie. sourceDatabaseId musi być określony jako identyfikator zasobu istniejącej bazy danych, a element restorePointInTime musi być określony.

Odzyskiwanie: tworzy bazę danych przez przywrócenie kopii zapasowej replikowanej geograficznie. sourceDatabaseId musi być określony jako identyfikator zasobu bazy danych, który można odzyskać, aby przywrócić.

Przywracanie: tworzy bazę danych, przywracając kopię zapasową usuniętej bazy danych. parametr sourceDatabaseId musi być określony. Jeśli sourceDatabaseId jest oryginalnym identyfikatorem zasobu bazy danych, należy określić parametr sourceDatabaseDeletionDate. W przeciwnym razie parametr sourceDatabaseId musi być identyfikatorem usuniętej bazy danych, a parametr sourceDatabaseDeletionDate jest ignorowany. Można również określić element restorePointInTime w celu przywrócenia z wcześniejszego punktu w czasie.

RestoreLongTermRetentionBackup: tworzy bazę danych przez przywrócenie z magazynu przechowywania długoterminowego. recoveryServicesRecoveryPointResourceId musi być określony jako identyfikator zasobu punktu odzyskiwania.

Kopiowanie, NonReadableSecondary, OnlineSecondary i RestoreLongTermRetentionBackup nie są obsługiwane w przypadku wersji DataWarehouse. | "Kopia"
'Default'
'NonReadableSecondary'
'OnlineSecondary'
'PointInTimeRestore'
'Recovery'
'Restore'
"RestoreLongTermRetentionBackup" | | edition | Wydanie bazy danych. Wyliczenie DatabaseEditions zawiera wszystkie prawidłowe wersje. Jeśli parametr createMode to NonReadableSecondary lub OnlineSecondary, ta wartość jest ignorowana.

Lista jednostek SKU może się różnić w zależności od regionu i oferty pomocy technicznej. Aby określić SKU (w tym nazwę SKU, tier/edition, rodzinę i pojemność) dostępne dla Twojej subskrypcji w regionie Azure, użyj API REST Capabilities_ListByLocation lub jednego z następujących poleceń:

azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />````<br /><br />Program PowerShell
<lokalizacja Get-AzSqlServerServiceObjective -Location>
| 'Basic'<br />'Business'<br />'BusinessCritical'<br />'DataWarehouse'<br />'Free'<br />'GeneralPurpose'<br />'Hyperscale'<br />'Premium'<br />'PremiumRS'<br />'Standard'<br />'Stretch'<br />'System'<br />'System2'<br />'Web' | | elasticPoolName | The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition. | string | | maxSizeBytes | The max size of the database expressed in bytes. If createMode is not Default, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: "Capabilities_ListByLocation." | string | | readScale | Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition. | 'Disabled'<br />'Enabled' | | recoveryServicesRecoveryPointResourceId | Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from. | string | | requestedServiceObjectiveId | The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName.<br /><br />The list of SKUs may vary by region and support offer. To determine the service objective ids that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API. | string <br /><br />Constraints:<br />Min length = 36<br />Max length = 36<br />Pattern = `^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$` | | requestedServiceObjectiveName | The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. <br /><br />The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:<br /><br />```azurecli<br />az sql db list-editions -l &lt;location&gt; -o table<br />

```powershell
<lokalizacja Get-AzSqlServerServiceObjective -Location>
```` | "Podstawowa"
'DS100'
'DS1000'
'DS1200'
'DS1500'
'DS200'
'DS2000'
'DS300'
'DS400'
'DS500'
'DS600'
'DW100'
'DW1000'
'DW10000c'
'DW1000c'
'DW1200'
'DW1500'
'DW15000c'
'DW1500c'
'DW200'
'DW2000'
'DW2000c'
'DW2500c'
'DW300'
'DW3000'
'DW30000c'
'DW3000c'
'DW400'
'DW500'
'DW5000c'
'DW600'
'DW6000'
'DW6000c'
'DW7500c'
'ElasticPool'
'Free'
'P1'
'P11'
'P15'
'P2'
'P3'
'P4'
'P6'
'PRS1'
'PRS2'
'PRS4'
'PRS6'
'S0'
'S1'
'S12'
'S2'
'S3'
'S4'
'S6'
'S7'
'S9'
'System'
'System0'
'System1'
'System2'
'System2L'
'System3'
'System3L'
'System4'
"System4L" | | restorePointInTime | Warunkowy. Jeśli parametr createMode to PointInTimeRestore, ta wartość jest wymagana. Jeśli parametr createMode to Restore, ta wartość jest opcjonalna. Określa punkt w czasie (ISO8601 format) źródłowej bazy danych, która zostanie przywrócona w celu utworzenia nowej bazy danych. Musi być większa lub równa najwcześniejszej wartości źródłowej bazy danychRestoreDate. | ciąg | | sampleName | Wskazuje nazwę przykładowego schematu, który ma być stosowany podczas tworzenia tej bazy danych. Jeśli tryb createMode nie jest domyślny, ta wartość jest ignorowana. Nieobsługiwane w przypadku wersji DataWarehouse. | 'AdventureWorksLT' | | sourceDatabaseDeletionDate | Warunkowy. Jeśli parametr createMode to Restore i sourceDatabaseId jest oryginalnym identyfikatorem zasobu usuniętej bazy danych, gdy istniał (w przeciwieństwie do bieżącego identyfikatora porzuconej bazy danych możliwej do przywrócenia), ta wartość jest wymagana. Określa czas usunięcia bazy danych. | ciąg | | sourceDatabaseId | Warunkowy. Jeśli parametr createMode to Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery lub Restore, ta wartość jest wymagana. Określa identyfikator zasobu źródłowej bazy danych. Jeśli parametr createMode to NonReadableSecondary lub OnlineSecondary, nazwa źródłowej bazy danych musi być taka sama jak tworzona nowa baza danych. | ciąg | | zoneRedundant | Niezależnie od tego, czy ta baza danych jest strefowo nadmiarowa, co oznacza, że repliki tej bazy danych będą rozłożone na wiele stref dostępności. | bool |

TrackedResourceTags

Name Description Value