Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The databaseAccounts/sqlDatabases resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Usage Examples
Bicep Samples
A basic example of deploying SQL Database within a Cosmos DB Account.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
resource databaseAccount 'Microsoft.DocumentDB/databaseAccounts@2021-10-15' = {
name: resourceName
location: location
kind: 'GlobalDocumentDB'
properties: {
capabilities: []
consistencyPolicy: {
defaultConsistencyLevel: 'BoundedStaleness'
maxIntervalInSeconds: 10
maxStalenessPrefix: 200
}
databaseAccountOfferType: 'Standard'
defaultIdentity: 'FirstPartyIdentity'
disableKeyBasedMetadataWriteAccess: false
disableLocalAuth: false
enableAnalyticalStorage: false
enableAutomaticFailover: false
enableFreeTier: false
enableMultipleWriteLocations: false
ipRules: []
isVirtualNetworkFilterEnabled: false
locations: [
{
failoverPriority: 0
isZoneRedundant: false
locationName: 'West Europe'
}
]
networkAclBypass: 'None'
networkAclBypassResourceIds: []
publicNetworkAccess: 'Enabled'
virtualNetworkRules: []
}
}
resource sqlDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2021-10-15' = {
name: resourceName
parent: databaseAccount
properties: {
options: {
throughput: 400
}
resource: {
id: resourceName
}
}
}
Azure Verified Modules
The following Azure Verified Modules can be used to deploy this resource type.
| Module | Description |
|---|---|
| Cosmos DB Database Account - SQL Database | AVM Child Module for Cosmos DB Database Account - SQL Database |
Azure Quickstart Samples
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
| Bicep File | Description |
|---|---|
| Azure Cosmos DB account SQL API with analytical store | This template creates an Azure Cosmos account for Core (SQL) API with a database and container configured with analytical store. |
| Create a free-tier Azure Cosmos DB account | This template creates a free-tier Azure Cosmos DB account for SQL API with a database with shared throughput and container. |
| Create an Azure Cosmos DB account for Core (SQL) API | This template creates an Azure Cosmos account for Core (SQL) API with a database and container with throughput with multiple other options. |
| Create an Azure Cosmos DB account SQL API with autoscale | This template creates an Azure Cosmos account for Core (SQL) API with a database and container with autoscale throughput with multiple other options. |
| Create Azure Cosmos DB Core (SQL) API stored procedures | This template creates an Azure Cosmos DB account for Core (SQL) API and a container with a stored procedure, trigger and user defined function. |
| Creates a Dapr microservices app using Container Apps | Create a Dapr microservices app using Container Apps. |
| Creates a Dapr pub-sub servicebus app using Container Apps | Create a Dapr pub-sub servicebus app using Container Apps. |
| Deploy Azure Data Explorer DB with Cosmos DB connection | Deploy Azure Data Explorer DB with Cosmos DB connection. |
Resource format
To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2026-04-01-preview' = {
parent: resourceSymbolicName
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: 'string'
}
}
location: 'string'
name: 'string'
properties: {
options: {
autoscaleSettings: {
maxThroughput: int
}
throughput: int
}
resource: {
createMode: 'string'
id: 'string'
restoreParameters: {
restoreSource: 'string'
restoreTimestampInUtc: 'string'
restoreWithTtlDisabled: bool
}
_colls: 'string'
_users: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/sqlDatabases
| Name | Description | Value |
|---|---|---|
| identity | Identity for the resource. | ManagedServiceIdentity |
| location | The location of the resource group to which the resource belongs. | string |
| name | The resource name | string (required) |
| parent | In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource. For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: databaseAccounts |
| properties | The properties of an Azure Cosmos DB SQL database | SqlDatabaseGetProperties |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
AutoscaleSettings
| Name | Description | Value |
|---|---|---|
| maxThroughput | Represents maximum throughput, the resource can scale up to. | int |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' |
| userAssignedIdentities | The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | Record |
Record
| Name | Description | Value |
|---|
ResourceRestoreParameters
| Name | Description | Value |
|---|---|---|
| restoreSource | The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} | string |
| restoreTimestampInUtc | Time to which the account has to be restored (ISO-8601 format). | string |
| restoreWithTtlDisabled | Specifies whether the restored account will have Time-To-Live disabled upon the successful restore. | bool |
SqlDatabaseGetProperties
| Name | Description | Value |
|---|---|---|
| options | SqlDatabaseGetPropertiesOptions | |
| resource | SqlDatabaseGetPropertiesResource |
SqlDatabaseGetPropertiesOptions
| Name | Description | Value |
|---|---|---|
| autoscaleSettings | Specifies the Autoscale settings. | AutoscaleSettings |
| throughput | Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. | int |
SqlDatabaseGetPropertiesResource
| Name | Description | Value |
|---|---|---|
| createMode | Enum to indicate the mode of account creation. | 'Default' 'Restore' |
| id | Name of the Cosmos DB SQL database | string (required) |
| restoreParameters | Parameters to indicate the information about the restore | ResourceRestoreParameters |
| _colls | A system generated property that specified the addressable path of the collections resource. | string |
| _users | A system generated property that specifies the addressable path of the users resource. | string |
ARM template resource definition
The databaseAccounts/sqlDatabases resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands For a list of changed properties in each API version, see change log.
Usage Examples
Azure Quickstart Templates
The following Azure Quickstart templates deploy this resource type.
| Template | Description |
|---|---|
| Azure Cosmos DB account SQL API with analytical store |
This template creates an Azure Cosmos account for Core (SQL) API with a database and container configured with analytical store. |
| Create a free-tier Azure Cosmos DB account |
This template creates a free-tier Azure Cosmos DB account for SQL API with a database with shared throughput and container. |
| Create an Azure Cosmos DB account for Core (SQL) API |
This template creates an Azure Cosmos account for Core (SQL) API with a database and container with throughput with multiple other options. |
| Create an Azure Cosmos DB account SQL API with autoscale |
This template creates an Azure Cosmos account for Core (SQL) API with a database and container with autoscale throughput with multiple other options. |
| Create Azure Cosmos DB Core (SQL) API stored procedures |
This template creates an Azure Cosmos DB account for Core (SQL) API and a container with a stored procedure, trigger and user defined function. |
| Creates a Dapr microservices app using Container Apps |
Create a Dapr microservices app using Container Apps. |
| Creates a Dapr pub-sub servicebus app using Container Apps |
Create a Dapr pub-sub servicebus app using Container Apps. |
| Deploy Azure Data Explorer DB with Cosmos DB connection |
Deploy Azure Data Explorer DB with Cosmos DB connection. |
Resource format
To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases resource, add the following JSON to your template.
{
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
"apiVersion": "2026-04-01-preview",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": "string"
}
},
"location": "string",
"properties": {
"options": {
"autoscaleSettings": {
"maxThroughput": "int"
},
"throughput": "int"
},
"resource": {
"createMode": "string",
"id": "string",
"restoreParameters": {
"restoreSource": "string",
"restoreTimestampInUtc": "string",
"restoreWithTtlDisabled": "bool"
},
"_colls": "string",
"_users": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/sqlDatabases
| Name | Description | Value |
|---|---|---|
| apiVersion | The api version | '2026-04-01-preview' |
| identity | Identity for the resource. | ManagedServiceIdentity |
| location | The location of the resource group to which the resource belongs. | string |
| name | The resource name | string (required) |
| properties | The properties of an Azure Cosmos DB SQL database | SqlDatabaseGetProperties |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
| type | The resource type | 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases' |
AutoscaleSettings
| Name | Description | Value |
|---|---|---|
| maxThroughput | Represents maximum throughput, the resource can scale up to. | int |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' |
| userAssignedIdentities | The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | Record |
Record
| Name | Description | Value |
|---|
ResourceRestoreParameters
| Name | Description | Value |
|---|---|---|
| restoreSource | The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} | string |
| restoreTimestampInUtc | Time to which the account has to be restored (ISO-8601 format). | string |
| restoreWithTtlDisabled | Specifies whether the restored account will have Time-To-Live disabled upon the successful restore. | bool |
SqlDatabaseGetProperties
| Name | Description | Value |
|---|---|---|
| options | SqlDatabaseGetPropertiesOptions | |
| resource | SqlDatabaseGetPropertiesResource |
SqlDatabaseGetPropertiesOptions
| Name | Description | Value |
|---|---|---|
| autoscaleSettings | Specifies the Autoscale settings. | AutoscaleSettings |
| throughput | Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. | int |
SqlDatabaseGetPropertiesResource
| Name | Description | Value |
|---|---|---|
| createMode | Enum to indicate the mode of account creation. | 'Default' 'Restore' |
| id | Name of the Cosmos DB SQL database | string (required) |
| restoreParameters | Parameters to indicate the information about the restore | ResourceRestoreParameters |
| _colls | A system generated property that specified the addressable path of the collections resource. | string |
| _users | A system generated property that specifies the addressable path of the users resource. | string |
Terraform (AzAPI provider) resource definition
The databaseAccounts/sqlDatabases resource type can be deployed with operations that target:
- Resource groups For a list of changed properties in each API version, see change log.
Usage Examples
Terraform Samples
A basic example of deploying SQL Database within a Cosmos DB Account.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "databaseAccount" {
type = "Microsoft.DocumentDB/databaseAccounts@2021-10-15"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
kind = "GlobalDocumentDB"
properties = {
capabilities = [
]
consistencyPolicy = {
defaultConsistencyLevel = "BoundedStaleness"
maxIntervalInSeconds = 10
maxStalenessPrefix = 200
}
databaseAccountOfferType = "Standard"
defaultIdentity = "FirstPartyIdentity"
disableKeyBasedMetadataWriteAccess = false
disableLocalAuth = false
enableAnalyticalStorage = false
enableAutomaticFailover = false
enableFreeTier = false
enableMultipleWriteLocations = false
ipRules = [
]
isVirtualNetworkFilterEnabled = false
locations = [
{
failoverPriority = 0
isZoneRedundant = false
locationName = "West Europe"
},
]
networkAclBypass = "None"
networkAclBypassResourceIds = [
]
publicNetworkAccess = "Enabled"
virtualNetworkRules = [
]
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "sqlDatabase" {
type = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2021-10-15"
parent_id = azapi_resource.databaseAccount.id
name = var.resource_name
body = {
properties = {
options = {
throughput = 400
}
resource = {
id = var.resource_name
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Resource format
To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2026-04-01-preview"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
options = {
autoscaleSettings = {
maxThroughput = int
}
throughput = int
}
resource = {
createMode = "string"
id = "string"
restoreParameters = {
restoreSource = "string"
restoreTimestampInUtc = "string"
restoreWithTtlDisabled = bool
}
_colls = "string"
_users = "string"
}
}
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/sqlDatabases
| Name | Description | Value |
|---|---|---|
| identity | Identity for the resource. | ManagedServiceIdentity |
| location | The location of the resource group to which the resource belongs. | string |
| name | The resource name | string (required) |
| parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: databaseAccounts |
| properties | The properties of an Azure Cosmos DB SQL database | SqlDatabaseGetProperties |
| tags | Resource tags | Dictionary of tag names and values. |
| type | The resource type | "Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2026-04-01-preview" |
AutoscaleSettings
| Name | Description | Value |
|---|---|---|
| maxThroughput | Represents maximum throughput, the resource can scale up to. | int |
ManagedServiceIdentity
| Name | Description | Value |
|---|---|---|
| type | The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' |
| userAssignedIdentities | The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | Record |
Record
| Name | Description | Value |
|---|
ResourceRestoreParameters
| Name | Description | Value |
|---|---|---|
| restoreSource | The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} | string |
| restoreTimestampInUtc | Time to which the account has to be restored (ISO-8601 format). | string |
| restoreWithTtlDisabled | Specifies whether the restored account will have Time-To-Live disabled upon the successful restore. | bool |
SqlDatabaseGetProperties
| Name | Description | Value |
|---|---|---|
| options | SqlDatabaseGetPropertiesOptions | |
| resource | SqlDatabaseGetPropertiesResource |
SqlDatabaseGetPropertiesOptions
| Name | Description | Value |
|---|---|---|
| autoscaleSettings | Specifies the Autoscale settings. | AutoscaleSettings |
| throughput | Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. | int |
SqlDatabaseGetPropertiesResource
| Name | Description | Value |
|---|---|---|
| createMode | Enum to indicate the mode of account creation. | 'Default' 'Restore' |
| id | Name of the Cosmos DB SQL database | string (required) |
| restoreParameters | Parameters to indicate the information about the restore | ResourceRestoreParameters |
| _colls | A system generated property that specified the addressable path of the collections resource. | string |
| _users | A system generated property that specifies the addressable path of the users resource. | string |