An Azure relational database service.
In ARM and Bicep templates, the apiVersion property defines which version of the Azure Resource Manager (ARM REST API schema) is used for that resource type (for example, Microsoft.Sql/servers/databases).
It tells Azure which features and properties are available when the resource is deployed or updated — not the SQL database runtime version itself.
Each resource provider (like Microsoft.Sql) releases new API versions periodically. For example:
| API Version | Purpose |
|---|---|
| 2014-04-01 | Very old version — limited properties (deprecated) |
2014-04-01 |
Very old version — limited properties (deprecated) |
2019-06-01-preview |
Introduced newer database options |
2021-11-01 |
Supports modern features (vCore model, zone redundancy, maintenance configuration) |
2023-08-01-preview |
Latest public preview, includes elasticity features |
When Microsoft deprecates an old API version (like 2014-04-01), your templates may still deploy successfully for now, but they will eventually fail once support is removed.
- How to update the API version safely
To update, edit your ARM or Bicep templates to reference the latest supported API version.
Example
Old:
"type": "Microsoft.Sql/servers/databases/advisors",
"apiVersion": "2014-04-01",
Updated:
"type": "Microsoft.Sql/servers/databases/advisors",
"apiVersion": "2021-11-01",
https://learn.microsoft.com/en-us/rest/api/sql/
Use Azure CLI or PowerShell to list available versions:
Azure CLI
az provider show --namespace Microsoft.Sql --query "resourceTypes[].{ResourceType:resourceType,ApiVersion
- The
apiVersionin ARM templates defines which ARM schema version is used — not the SQL engine version. - Microsoft periodically retires old API versions.
- Update templates to use the latest supported version for
Microsoft.Sql/servers/databases. - Verify compatibility using the Azure CLI or REST API reference before deploying.