Using Alerts To Better Manage Azure SQL Database

Over the last year, I have been intentionally seeking out to get feedback from the community via various SQL events, particularly those who plan to use or are currently using Azure SQL Database. A lot of questions have come up about managing Azure SQL Database better – i.e. being more proactive and more responsive in managing Azure SQL Database. One of the ways to be more proactive about your SQL Database is by setting up alerts. As an example, you can create an alert in case DTU goes above 95% – say in the last 5 minutes, so that you can either investigate why this might be or upgrade it to a higher SKU.

This article walks through how you can setup an Alert on Azure SQL DB.

Post your ideas or vote other ideas on Azure SQL Database user voice.

Where are Alerts defined?

On Azure portal, if you navigate to your Azure SQL database > Settings, you will be able to see a list of useful features. One of them is Alert Rules as shown below:

Accessing Alerts on Azure SQL DB instance

Note: The screenshots and the steps shown here are accurate at the time of writing.

What can you use Alerts for?

You can setup alerts on the following items:

  • Blocked by Firewall
  • Failed Connections
  • Successful Connections
  • CPU Percentage
  • Deadlocks
  • DTU percentage
  • DTU limit
  • DTU used
  • Log IO percentage
  • Data IO percentage
  • Sessions percentage
  • Total database size
  • Database size percentage
  • Workers percentage
  • In-Memory OLTP sotrage percent (Preview)

In addition you can also set Condition and Threshold values. The options available on Condition are:

  • greater than
  • greater than or equal to
  • less than
  • less than or equal to.

Alerts can be setup for periods over the last 5 minutes, 10 minutes, 30 minutes, 45 minutes or 1 hour.

SQL Database owners, contributors and readers can receive the alerts. Or, you can add custom email addresses to receive the alert notifications.

Edit Alert Rule

Alert Activated

An activated alert will send an email that has enough details on what happened, including the associated Alert rule, the database and server, the metric and the time. Below is an example of an Alert Activated email.

Alert Activated Email

Alert Resolved

When the condition of the Alert rule is no longer satisfied, an Alert Resolved email will be sent to the designated alert receivers. Below is an example of Alert Resolved email.

Alert Resolved Email

Routing Alert to other systems

You can use Webhooks to route Alert notifications to other systems. Read How to configure Webhooks for alerts for further details on how to achieve this.

Automating Alerts with PowerShell

[Added 24 August 2016] Special thanks to Mike Fal (t | b) who investigated and put together a how-to with PowerShell for Alerts soon after this blog post was published. Read Creating Alerts for Azure SQL Database with PowerShell for more details.

Wrap Up

Azure SQL Database has a number of built-in intelligence that allows users to be more productive with ease. One of the features that allows this is the Alert capability available for Azure services. This article explains a little deeper on Alerts available for Azure SQL Database. One idea of using Alerts is to help in managing the scale up and scale down of your Azure SQL Database.

I have added links to Azure official documentation below.

Further Reading

Azure SQL Database: Receive alert notifications

Creating Alerts for Azure SQL Database with Powershell

How to configure webhooks for alerts

 

6 comments on “Using Alerts To Better Manage Azure SQL Database
  1. Pingback: Azure SQL Database Alerts – Curated SQL

  2. Pingback: Creating Alerts for Azure SQL Database with Powershell | Art of the DBA

Comments are closed.