Microsoft.Sql servers 2022-08-01-preview

Bicep resource definition

The servers resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Sql/servers resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Sql/servers@2022-08-01-preview' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    administratorLogin: 'string'
    administratorLoginPassword: 'string'
    administrators: {
      administratorType: 'string'
      azureADOnlyAuthentication: bool
      login: 'string'
      principalType: 'string'
      sid: 'string'
      tenantId: 'string'
    }
    federatedClientId: 'string'
    keyId: 'string'
    minimalTlsVersion: 'string'
    primaryUserAssignedIdentityId: 'string'
    publicNetworkAccess: 'string'
    restrictOutboundNetworkAccess: 'string'
    version: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

Microsoft.Sql/servers

Name Description Value
identity The Azure Active Directory identity of the server. ResourceIdentity
location Resource location. string (required)
name The resource name string (required)
properties Resource properties. ServerProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates

ResourceIdentity

Name Description Value
type The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource. 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'
userAssignedIdentities The resource ids of the user assigned identities to use ResourceIdentityUserAssignedIdentities

ResourceIdentityUserAssignedIdentities

Name Description Value

ServerExternalAdministrator

Name Description Value
administratorType Type of the sever administrator. 'ActiveDirectory'
azureADOnlyAuthentication Azure Active Directory only Authentication enabled. bool
login Login name of the server administrator. string
principalType Principal Type of the sever administrator. 'Application'
'Group'
'User'
sid SID (object ID) of the server administrator. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
tenantId Tenant ID of the administrator. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$

ServerProperties

Name Description Value
administratorLogin Administrator username for the server. Once created it cannot be changed. string
administratorLoginPassword The administrator login password (required for server creation). string

Constraints:
Sensitive value. Pass in as a secure parameter.
administrators The Azure Active Directory administrator of the server. This can only be used at server create time. If used for server update, it will be ignored or it will result in an error. For updates individual APIs will need to be used. ServerExternalAdministrator
federatedClientId The Client id used for cross tenant CMK scenario string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
keyId A CMK URI of the key to use for encryption. string
minimalTlsVersion Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2' string
primaryUserAssignedIdentityId The resource id of a user assigned identity to be used by default. string
publicNetworkAccess Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' or 'SecuredByPerimeter' 'Disabled'
'Enabled'
'SecuredByPerimeter'
restrictOutboundNetworkAccess Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' 'Disabled'
'Enabled'
version The version of the server. string

TrackedResourceTags

Name Description Value

UserIdentity

Name Description Value

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
Azure SQL Server with Auditing written to Log Analytics This template allows you to deploy an Azure SQL server with Auditing enabled to write audit logs to Log Analytics (OMS workspace)
Create a SQL Server and Database This template allows you to create SQL Database and Server.
Dedicated SQL pool with Transparent Encryption Creates a SQL Server and a Dedicated SQL pool (formerly SQL DW) with Transparent Data Encryption.
Deploy the Sports Analytics on Azure Architecture Creates an Azure storage account with ADLS Gen 2 enabled, an Azure Data Factory instance with linked services for the storage account (an the Azure SQL Database if deployed), and an Azure Databricks instance. The AAD identity for the user deploying the template and the managed identity for the ADF instance will be granted the Storage Blob Data Contributor role on the storage account. There are also options to deploy an Azure Key Vault instance, an Azure SQL Database, and an Azure Event Hub (for streaming use cases). When an Azure Key Vault is deployed, the data factory managed identity and the AAD identity for the user deploying the template will be granted the Key Vault Secrets User role.
Private Endpoint example This template shows how to create a private endpoint pointing to Azure SQL Server
Provision a Web App with a SQL Database This template provisions a Web App, a SQL Database, AutoScale settings, Alert rules, and App Insights. It configures a connection string in the web app for the database.
Sonarqube Docker Web App on Linux with Azure SQL This template deploys Sonarqube in an Azure App Service web app Linux container using the official Sonarqube image and backed by an Azure SQL Server.
SQL logical server This template allows you to create SQL logical server.
Web App with Managed Identity, SQL Server and ΑΙ Simple example to deploy Azure infrastructure for app + data + managed identity + monitoring

ARM template resource definition

The servers resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Sql/servers resource, add the following JSON to your template.

{
  "type": "Microsoft.Sql/servers",
  "apiVersion": "2022-08-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "administratorLogin": "string",
    "administratorLoginPassword": "string",
    "administrators": {
      "administratorType": "string",
      "azureADOnlyAuthentication": "bool",
      "login": "string",
      "principalType": "string",
      "sid": "string",
      "tenantId": "string"
    },
    "federatedClientId": "string",
    "keyId": "string",
    "minimalTlsVersion": "string",
    "primaryUserAssignedIdentityId": "string",
    "publicNetworkAccess": "string",
    "restrictOutboundNetworkAccess": "string",
    "version": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

Microsoft.Sql/servers

Name Description Value
apiVersion The api version '2022-08-01-preview'
identity The Azure Active Directory identity of the server. ResourceIdentity
location Resource location. string (required)
name The resource name string (required)
properties Resource properties. ServerProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.Sql/servers'

ResourceIdentity

Name Description Value
type The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource. 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'
userAssignedIdentities The resource ids of the user assigned identities to use ResourceIdentityUserAssignedIdentities

ResourceIdentityUserAssignedIdentities

Name Description Value

ServerExternalAdministrator

Name Description Value
administratorType Type of the sever administrator. 'ActiveDirectory'
azureADOnlyAuthentication Azure Active Directory only Authentication enabled. bool
login Login name of the server administrator. string
principalType Principal Type of the sever administrator. 'Application'
'Group'
'User'
sid SID (object ID) of the server administrator. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
tenantId Tenant ID of the administrator. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$

ServerProperties

Name Description Value
administratorLogin Administrator username for the server. Once created it cannot be changed. string
administratorLoginPassword The administrator login password (required for server creation). string

Constraints:
Sensitive value. Pass in as a secure parameter.
administrators The Azure Active Directory administrator of the server. This can only be used at server create time. If used for server update, it will be ignored or it will result in an error. For updates individual APIs will need to be used. ServerExternalAdministrator
federatedClientId The Client id used for cross tenant CMK scenario string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
keyId A CMK URI of the key to use for encryption. string
minimalTlsVersion Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2' string
primaryUserAssignedIdentityId The resource id of a user assigned identity to be used by default. string
publicNetworkAccess Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' or 'SecuredByPerimeter' 'Disabled'
'Enabled'
'SecuredByPerimeter'
restrictOutboundNetworkAccess Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' 'Disabled'
'Enabled'
version The version of the server. string

TrackedResourceTags

Name Description Value

UserIdentity

Name Description Value

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
App Service Environment with Azure SQL backend

Deploy to Azure
This template creates an App Service Environment with an Azure SQL backend along with private endpoints along with associated resources typically used in an private/isolated environment.
Autoscale LANSA Windows VM ScaleSet with Azure SQL Database

Deploy to Azure
The template deploys a Windows VMSS with a desired count of VMs in the scale set and a LANSA MSI to install into each VM. Once the VM Scale Set is deployed a custom script extension is used to install the LANSA MSI)
Azure SQL Server with Auditing written to a blob storage

Deploy to Azure
This template allows you to deploy an Azure SQL server with Auditing enabled to write audit logs to a blob storage
Azure SQL Server with Auditing written to Event Hub

Deploy to Azure
This template allows you to deploy an Azure SQL server with Auditing enabled to write audit logs to Event Hub
Azure SQL Server with Auditing written to Log Analytics

Deploy to Azure
This template allows you to deploy an Azure SQL server with Auditing enabled to write audit logs to Log Analytics (OMS workspace)
Create a SQL Server and Database

Deploy to Azure
This template allows you to create SQL Database and Server.
Create a Web App + Redis Cache + SQL DB with a template

Deploy to Azure
This template creates an Azure Web App with Redis cache and a SQL Database.
Create an Azure SQL Server, with data encryption protector

Deploy to Azure
This template creates an Azure SQL server, activates the data encryption protector using a given key stored in a given Key Vault
Create Azure SQL Servers and Database with Failover Group

Deploy to Azure
Creates two Azure SQL servers, a database, and a failover group.
Create, configure and deploy Web Application to an Azure VM

Deploy to Azure
Create and configure a Windows VM with SQL Azure database, and deploy web application to the environment using PowerShell DSC
Dedicated SQL pool with Transparent Encryption

Deploy to Azure
Creates a SQL Server and a Dedicated SQL pool (formerly SQL DW) with Transparent Data Encryption.
Deploy a HDInsight cluster and a SQL database

Deploy to Azure
This template allows you to create a HDInsight cluster and a SQL Database for testing Sqoop.
Deploy a new SQL Elastic Pool

Deploy to Azure
This template allows you to deploy a new SQL Elastic Pool with its new associated SQL Server and new SQL Databases to assign to it.
Deploy Octopus Deploy 3.0 with a trial license

Deploy to Azure
This template allows you to deploy a single Octopus Deploy 3.0 server with a trial license. This will deploy on a single Windows Server 2012R2 VM (Standard D2) and SQL DB (S1 tier) into the location specified for the Resource Group.
Deploy the Sports Analytics on Azure Architecture

Deploy to Azure
Creates an Azure storage account with ADLS Gen 2 enabled, an Azure Data Factory instance with linked services for the storage account (an the Azure SQL Database if deployed), and an Azure Databricks instance. The AAD identity for the user deploying the template and the managed identity for the ADF instance will be granted the Storage Blob Data Contributor role on the storage account. There are also options to deploy an Azure Key Vault instance, an Azure SQL Database, and an Azure Event Hub (for streaming use cases). When an Azure Key Vault is deployed, the data factory managed identity and the AAD identity for the user deploying the template will be granted the Key Vault Secrets User role.
Django App with SQL Databases

Deploy to Azure
This template uses the Azure Linux CustomScript extension to deploy an application. This example creates an Ubuntu VM, does a silent install of Python, Django and Apache, then creates a simple Django app. The template also creates a SQL Database, with a sample table with some sample data which displayed in the web browser using a query
Enterprise Governance-AppService, SQL DB, AD, OMS, Runbooks

Deploy to Azure
Cloud adoption for an Enterprise, small or large, require responsible and efficient governance models to derive value from their cloud deployments. CloudWise (a code-name for the solution), is a composite solution available from Azure Partner QuickStarts, is an adoption enabler for Customers, System Integrators and Partners alike, that delivers a self-serviceable, automated governance and operations solution, focused on Optimizing Your Costs, Improve Your Application(s) Reliability, Reducing Business Risk. The solution highlights the core governance pillars of Visibility and Control.
EPiserverCMS in Azure

Deploy to Azure
This template allows you to create resources required for EpiServerCMS deployment in Azure
eShop Website with ILB ASE

Deploy to Azure
An App Service Environment is a Premium service plan option of Azure App Service that provides a fully isolated and dedicated environment for securely running Azure App Service apps at high scale, including Web Apps, Mobile Apps, and API Apps.
Kentico Xperience

Deploy to Azure
This template facilitates the deployment of resources required to host Kentico Xperience environments in Microsoft Azure.
Migrate to Azure SQL database using Azure DMS

Deploy to Azure
The Azure Database Migration Service (DMS) is designed to streamline the process of migrating on-premises databases to Azure. DMS will simplify the migration of existing on-premises SQL Server and Oracle databases to Azure SQL Database, Azure SQL Managed Instance or Microsoft SQL Server in an Azure Virtual Machine. This template would deploy an instance of Azure Database Migration service, an Azure VM with SQL server installed on it which will act as a Source server with pre created database on it and a Target Azure SQL DB server which will have a pre-created schema of the database to be migrated from Source to Target server. The template will also deploy the required resources like NIC, vnet etc for supporting the Source VM, DMS service and Target server.
Orchard CMS Video Portal Web App

Deploy to Azure
This template provides a easy way to deploy Orchard CMS on Azure App Service Web Apps with the Azure Media Services module enabled and configured.
Private Endpoint example

Deploy to Azure
This template shows how to create a private endpoint pointing to Azure SQL Server
Provision a Mobile App with a SQL Database

Deploy to Azure
This template provisions a Mobile App, SQL Database, and Notification Hub. It configures a connection string in the mobile app for the database and notification hub.
Provision a SQL Database with TDE

Deploy to Azure
This template provisions a SQL Server with firewall opened for Azure traffic and a SQL database with Transparent Data Encryption (TDE).
Provision a Web App with a SQL Database

Deploy to Azure
This template provisions a Web App, a SQL Database, AutoScale settings, Alert rules, and App Insights. It configures a connection string in the web app for the database.
Remote Desktop Services with High Availability

Deploy to Azure
This ARM Template sample code will deploy a Remote Desktop Services 2019 Session Collection lab with high availability. The goal is to deploy a fully redundant, highly available solution for Remote Desktop Services, using Windows Server 2019.
Scalable Umbraco CMS Web App

Deploy to Azure
This template provides a easy way to deploy umbraco CMS web app on Azure App Service Web Apps.
Simple Umbraco CMS Web App

Deploy to Azure
This template provides a easy way to deploy umbraco CMS web app on Azure App Service Web Apps.
Sonarqube Docker Web App on Linux with Azure SQL

Deploy to Azure
This template deploys Sonarqube in an Azure App Service web app Linux container using the official Sonarqube image and backed by an Azure SQL Server.
SQL logical server

Deploy to Azure
This template allows you to create SQL logical server.
SQL server with Azure AD-only authentication

Deploy to Azure
This template allows you to create SQL server in Azure with the Azure AD admin set and Azure AD-only authentication feature enabled.
Web App with a SQL Database, Azure Cosmos DB, Azure Search

Deploy to Azure
This template provisions a Web App, a SQL Database, Azure Cosmos DB, Azure Search and Application Insights.
Web App with Managed Identity, SQL Server and ΑΙ

Deploy to Azure
Simple example to deploy Azure infrastructure for app + data + managed identity + monitoring
WebApp consuming a Azure SQL Private Endpoint

Deploy to Azure
This template shows how to create a Web app that consumes a private endpoint pointing to Azure SQL Server

Terraform (AzAPI provider) resource definition

The servers resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Sql/servers resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers@2022-08-01-preview"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      administratorLogin = "string"
      administratorLoginPassword = "string"
      administrators = {
        administratorType = "string"
        azureADOnlyAuthentication = bool
        login = "string"
        principalType = "string"
        sid = "string"
        tenantId = "string"
      }
      federatedClientId = "string"
      keyId = "string"
      minimalTlsVersion = "string"
      primaryUserAssignedIdentityId = "string"
      publicNetworkAccess = "string"
      restrictOutboundNetworkAccess = "string"
      version = "string"
    }
  })
}

Property values

Microsoft.Sql/servers

Name Description Value
identity The Azure Active Directory identity of the server. ResourceIdentity
location Resource location. string (required)
name The resource name string (required)
properties Resource properties. ServerProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.Sql/servers@2022-08-01-preview"

ResourceIdentity

Name Description Value
type The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource. 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'
userAssignedIdentities The resource ids of the user assigned identities to use ResourceIdentityUserAssignedIdentities

ResourceIdentityUserAssignedIdentities

Name Description Value

ServerExternalAdministrator

Name Description Value
administratorType Type of the sever administrator. 'ActiveDirectory'
azureADOnlyAuthentication Azure Active Directory only Authentication enabled. bool
login Login name of the server administrator. string
principalType Principal Type of the sever administrator. 'Application'
'Group'
'User'
sid SID (object ID) of the server administrator. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
tenantId Tenant ID of the administrator. string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$

ServerProperties

Name Description Value
administratorLogin Administrator username for the server. Once created it cannot be changed. string
administratorLoginPassword The administrator login password (required for server creation). string

Constraints:
Sensitive value. Pass in as a secure parameter.
administrators The Azure Active Directory administrator of the server. This can only be used at server create time. If used for server update, it will be ignored or it will result in an error. For updates individual APIs will need to be used. ServerExternalAdministrator
federatedClientId The Client id used for cross tenant CMK scenario string

Constraints:
Min length = 36
Max length = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
keyId A CMK URI of the key to use for encryption. string
minimalTlsVersion Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2' string
primaryUserAssignedIdentityId The resource id of a user assigned identity to be used by default. string
publicNetworkAccess Whether or not public endpoint access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' or 'SecuredByPerimeter' 'Disabled'
'Enabled'
'SecuredByPerimeter'
restrictOutboundNetworkAccess Whether or not to restrict outbound network access for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled' 'Disabled'
'Enabled'
version The version of the server. string

TrackedResourceTags

Name Description Value

UserIdentity

Name Description Value