Introduction
Bien qu’il soit encore en preview, l’Elastic Job est un outil puissant qui peut être utilisé pour effectuer diverses tâches automatisées sur un ensemble de serveurs Azure SQL ou de bases de données Azure SQL. Un échantillon des types de tâches que l'on peut choisir d'accomplir comprend :
- Mises à jour du schéma (par exemple, ajouter une colonne)
- Maintenance de la partition (par exemple, pour un scénario de table partitionnée à fenêtre glissante)
- Mises à jour des statistiques
- Maintenance de l'index
- Maintenance des données
- Exécution des procédures stockées
Quand dois-je utiliser Elastic Jobs ?
Vous devriez envisager d'utiliser Elastic Jobs chaque fois que :
- Vous avez une tâche qui doit être exécutée régulièrement selon un calendrier, ciblant une ou plusieurs bases de données.
- Vous avez une tâche qui doit être exécutée une fois, mais sur plusieurs bases de données.
Create Elastic job agent service
Cherchez dans votre portal Azure Elastic job agent

Créez un service Elastic Job Agent en insérant tous les paramètres d’entrée
{Nom du service, Souscription, Nom du server, nom de la base de donnée}
Suite à la création du service Elastic Job Agent, vous allez trouver un ensemble de procédures stockées créées automatiquement dans votre base de données :

Plusieurs étapes de configuration à suivre pour créer un job Elastic dans votre base Azure SQL
Creation du Credentials
Pour donner suite à la création de l'Elastic Job Agent vous devez vous connecter à la base de données qui héberge l'Elastic Job Agent et y créer les identifiants d'actualisation et de travail. Encore une fois, je suppose que ces informations d'identification ont déjà été créées sur les serveurs et bases de données cibles et n'affichent ici que les parties spécifiques au travail élastique.

Creating the Target Group
La dernière étape avant de créer la tâche consiste à spécifier le groupe qui est la cible de la tâche. N'oubliez pas que si je spécifie un serveur cible, le travail ciblera automatiquement chaque base de données sur ce serveur. Si vous souhaitez exclure une base de données :

Création et Définition du Job
Après avoir équipé l’Elastique Job Agent des informations d'identification appropriées et d'un groupe cible défini, nous pouvons désormais créer et définir l'Elastic Job :
Nous allons créer un job qui automatisera l’alimentation d’une table appelée table_list pour afficher la liste des tables et leurs colonnes.

Rajout d’une étape dans le job

Exécution manuelle du job
Il y a une procédure stockée ”jobs.sp_start_job” qui vous permettra d’exécuter manuellement votre job

Planification du job
Pour planifier et programmer l’exécution de votre job, Elastic vous met à disposition une procédure pour gérer cette partie

Ici je viens de créer une planification pour le job 'create_matatable' qui va tourner toutes les 10 minutes
Monitoring
Une table est à votre disposition qui log toutes les exécutions de vos jobs ‘jobs.job_executions’

Conclusion :
Elastic Agent Job est l’équivalent officiel de l’ Agent SQL Server dans Azure SQL Database. Il vous permet de planifier, programmer et monitorer vos taches SQL d’une manière très simple, bien qu’il soit toujours en preview. Cependant à mon avis, il représente un service indispensable dans la suite data Azure, surtout pour les entreprises qui comptent migrer de Microsoft on premise vers Azure.
