• 2 min read

Managing multiple Azure SQL Databases just got easier with Elastic Database Jobs

This tutorial will teach you all the necessary steps to create and execute jobs over a group of databases, enable schedules and execute jobs which return results using PowerShell cmdlets.

Elastic Database jobs keeps getting better. Now with the preview release of the PowerShell cmdlets for jobs, you can create custom database groups, define schedules to allow for recurring jobs such as index maintenance, and create jobs for data collection scenarios pushing results to a destination table.

Elastic Database jobs – already in preview – unleashed the ease of managing large sets of databases allowing execution of Transact-SQL (T-SQL) scripts across all databases in a pool. With this release of the PowerShell cmdlets, you can now define a custom group of databases to serve as a target for jobs, or execute jobs against all databases in a shard map (created using Elastic Database client library). Associating a job with a group of databases that you define makes it as easy to perform administrative operations across a large number of databases as if they were a single database.

Imagine you are a SaaS developer in the cloud offering online ordering services for a collection of large stores. To support this and allow unlimited scale, you’ve provisioned separate databases in Azure SQL DB to handle each store’s business, and this set of databases shares a common schema. While your application directs customer transactions to the appropriate store’s databases, you want the capability to easily manage all databases jointly to ensure the performance and customer experience remain optimal. Additionally, you periodically have new schema to deploy to each database in preparation for a new feature you’re planning to integrate into your application for your customers.

If you already have a collection of databases in Azure over which you would like to perform administration actions, getting started with Elastic Database jobs is straightforward. After the initial setup of Elastic Database jobs, you can define a custom database group as a target for job execution, or choose to use an existing Shard Map if your application is built using the Elastic Database client library. Once your target is defined, you can easily use it to perform administrative tasks across all the databases at once. Our tutorial walks you through the necessary steps to not only create and execute jobs over a group of databases, but also how to create schedules and execute jobs which return results.

Elastic Database jobs can perform operations on databases in all service tiers of Azure SQL Database.  While in preview, jobs is provided as an Azure Cloud Service that you deploy into your own subscription. Support for and community discussions relating to the feature are available through MSDN Forums and StackOverflow.