How to diagnose Azure SQL database service degradation

Jamie Jamieson 11 Reputation points
2023-09-01T08:45:16.2066667+00:00

My production Azure SQL database repeatedly suffers service degradation at the same time each day. Then it will be fine for days or weeks and then the cycle repeats, but at a different time of day.

I cannot see any diagnostics which indicate any actual problems with the database or any of the connected services. The load on the database is minimal and there are no spikes in activity on any of the connected services. I have no timed functions which occur anywhere near the times when the degradation occurs.

The advice to date is to move to a bigger, more expensive instance which seems to be treating the symptom and not the cause. This also happened for a period last year and an engineer suggested upgrading and downgrading to force the instance on to new hardware which did seem to make the problem go away for a number of months.

How can I debug what is actually going on?

Azure SQL Database
{count} votes

1 answer

Sort by: Most helpful
  1. ShaktiSingh-MSFT 15,311 Reputation points
    2023-09-01T09:39:38.01+00:00

    Hi Jamie Jamieson •,

    Welcome to Microsoft Q&A forum and thanks for using Azure Services.

    As I understand, you want to know why Azure SQL database degrades at at the same time each day.

    We are sorry about the inconvenience you are facing.

    These kind of occasional cause of transient errors is when the Azure system quickly shifts hardware resources to better load-balance various workloads. Most of these reconfiguration events finish in less than 60 seconds. During this reconfiguration time span, you might have issues with connecting to your database in SQL Database. Applications that connect to your database should be built to expect these transient errors. To handle them, implement retry logic in their code instead of surfacing them to users as application errors.

    If your client program uses ADO.NET, your program is told about the transient error by the throw of SqlException.

    We recommend you to set up retry logic as mentioned here:

    https://learn.microsoft.com/en-us/sql/connect/ado-net/step-4-connect-resiliently-sql-ado-net?view=sql-server-ver16

    and

    https://learn.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-common-connectivity-issues?view=azuresql

    Hope this helps.

    If not, I will recommend you to raise support case for deeper investigation if this problem persists in your case

    and in case if you don't have a support plan, do let us know here so that we can check on other options to unblock you.

    Thanks

    0 comments No comments

Your answer

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