This is an introduction to an upcoming series of posts dedicated to supporting you and addressing the different ways to not only do index maintenance, but also generally how to run SQL jobs in Azure. I’ll use the topic of index maintenance in Azure as the example.
A large trend we have been seeing lately is companies and organizations calling us to help improve and troubleshoot their Azure SQL Database performance and related issues. We always begin with a deep analysis, looking at queries, indexes, and configuration settings as part of a top-down, wholistic analysis.
Nine times out of 10, we find that one of the main things that is missing is traditional index maintenance. I believe this is due in large part to a misunderstanding of what Azure actually provides. It could be because the Azure portal has a section for each Azure SQL Database called Intelligent Performance. It provides Performance Recommendations as well as automatic tuning, and has likely led some to believe that Azure automatically does some level of index maintenance (i.e., updating statistics, rebuilding indexes, etc.).
While Azure does do a lot of things for you, maintaining indexes and statistics is not one of them. That is still up to you. The problem is that Microsoft does not currently make doing this easy. But we’re here to help!
Over the next few blog posts I’ll be covering three main ways to run SQL jobs in Azure:
- Azure Automation and Runbooks
- Azure Functions
- Azure Elastic Jobs
In each blog post, I’ll discuss the pros and cons of each, provide an example of how to set up and configure them, and what to expect in each each.
While there are certainly other ways to run SQL jobs in Azure, the aforementioned three are the primary “go-to” options. Join me for this exploration of Azure SQL!