Want to upgrade any Azure SQL Database resources

NYC Admin 0 Reputation points
2025-10-24T09:39:36.5133333+00:00

We want to upgrade any Azure SQL Database resources that use version 2014-04-01 APIs to a newer stable version by 31 October 2025 to avoid potential service disruptions. Please connect us with someone who can provide guidance.

Azure SQL Database
{count} votes

2 answers

Sort by: Most helpful
  1. Abhisek Mishra 855 Reputation points Microsoft External Staff Moderator
    2025-10-24T13:33:37.8333333+00:00

    Hi NYC Admin,

    Welcome to the Microsoft Q&A and thank you for posting your questions here.

    This retirement notice is about the management plane for Azure SQL (the REST/ARM API used by ARM/Bicep templates, SDKs, scripts, Azure Automation, etc.)—not about application connections to your databases (ADO.NET/JDBC/ODBC). You should update any tooling that still specifies api-version=2014-04-01 to a newer stable API (e.g., 2021‑11‑01). Note that Microsoft has extended the retirement date from 31 Oct 2025 to 30 Jun 2026, but it’s best to update now to avoid surprises.

    https://free.blessedness.top/en-us/rest/api/sql/retirement

    Find what needs changing

    • IaC repos: search for 2014-04-01 (e.g., git grep -n "2014-04-01").
    • Portal: each SQL resource → Export template/JSON view → look for "apiVersion": "2014-04-01".
    • (Optional) ARG to scope resource types in estate (note: not your template apiVersion): Resources | where type startswith 'microsoft.sql/' | distinct type, apiVersion
    • Make the change
    • Bicep/ARM: bump the apiVersion. Example:

    // before

    resource sql 'Microsoft.Sql/servers@2014-04-01' = { ... }

    // after

    resource sql 'Microsoft.Sql/servers@2023-08-01' = {

    name: serverName

    location: location

    properties: {

    administratorLogin: adminUser

    administratorLoginPassword: adminPwd

    // common newer props if you use them:

    minimalTlsVersion: '1.2'

    publicNetworkAccess: 'Enabled'

    }

    }

    • CLI/PowerShell/SDKs: remove any hard-coded --api-version 2014-04-01 and use current tool versions.

    Validate before rollout

    • What-If: az deployment group what-if -g <rg> -f main.bicep -p @params.json or subscription-level: az deployment sub what-if -l <location> -f main.bicep -p @params.json
    • Test a non-prod deploy, then prod.

    Pipeline guardrails (to avoid regressions)

    Enable Bicep linter rule use-recent-api-versions in bicepconfig.json.

    Add a PR check to block 2014-04-01 strings in templates.

    Optionally, an Azure Policy to audit disallowed apiVersions.

    Notes

    • This is management-plane only; data-plane/app connections aren’t affected.
    • Some child resources may still have preview variants—use the “allversions” page above to confirm a stable apiVersion per type.

    I hope this information is helpful! If you still have questions or you come across issues, please let us know what is needed in the comments so this question can be answered.

    Thanks,

    Abhisek

    0 comments No comments

  2. Sina Salam 25,931 Reputation points Volunteer Moderator
    2025-10-30T09:31:22.7133333+00:00

    Hello

    Welcome to the Microsoft Q&A and thank you for posting your questions here.

    I understand that you would like to upgrade any Azure SQL Database resources.

    In addition to @Abhisek Mishra pointed to and regarding bulk remediation scripts or automation tools, fallback for deprecated child APIs, Azure Policy to block deprecated API versions, and to audit API usage across tenants:

    Step 1: Use Git Repos: git grep -n "2014-04-01" from Azure CLI to identify affected resources. Then, in your Azure Portal, export ARM templates and search for "apiVersion": "2014-04-01".

    Resources
      | where type startswith 'microsoft.sql/'
      | distinct type, apiVersion
    

    Step 2: You can use ARM/Bicep Templates for upgrade API versions by replacing 2014-04-01 with 2023-08-01 or 2021-11-01 depending on resource type. - https://free.blessedness.top/en-us/rest/api/sql/retirement

    Also, you can use CLI/PowerShell/SDKs command like Remove hardcoded `--api-version` flags to remove it.

    Step 3: Use az deployment what-if such as az deployment group what-if -g <rg> -f main.bicep -p @params.json From bash command to validate before rollout.

    Step 4: To implement guardrails, you need to use `` Enable use-recent-api-versions in bicepconfig.json ``` in Bicep Linter. Then, PR Checks to Block commits with 2014-04-01`. Regarding Azure Policy:

    Step 5: And to handle preview APIs:

    I hope this is helpful! Do not hesitate to let me know if you have any other questions or clarifications.


    Please don't forget to close up the thread here by upvoting and accept it as an answer if it is helpful.

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.