13

Je suis à la recherche d'un moyen d'exécuter périodiquement (par exemple, chaque semaine) des instructions SQL dans une base de données pour supprimer les anciennes données. Pour autant que je peux voir, il y a (au moins) deux façons de le faire:SQL Server: dois-je utiliser un "Job Agent" ou un "Plan de maintenance" pour supprimer les anciennes données?

  • en utilisant un « plan d'entretien » et une « instruction Execute T-SQL Tâche »
  • en utilisant un « Agent SQL Server Job "et spécifier les déclarations dans un" Step "de ce travail

Ma question est: quelle est la différence entre ces deux possibilités et laquelle devrais-je utiliser pour ma tâche?

Répondre

16

Ce n'est pas vraiment un choix ou; il y a un certain chevauchement. Pensez à un plan de maintenance comme une collection d'étapes pour «faire quelque chose» à vos bases de données; ces étapes sont encapsulées dans un plan qui doit être programmé pour s'exécuter. L'Agent SQL Server est le service qui exécute périodiquement des travaux; un travail est tout ce qui est programmé pour s'exécuter. Un plan de maintenance est un travail. Lorsque vous planifiez l'exécution d'un plan de maintenance, vous créez un travail (ou un travail, merci DJ) pour que l'agent SQL Server s'exécute périodiquement. Maintenant, pour ce qui est de choisir le meilleur chemin (pour passer par l'assistant de plan de maintenance ou directement via l'agent), je dirais que pour la plupart des bases de données, l'assistant de plan de maintenance est suffisant. Vous pouvez ajouter des étapes supplémentaires aux tâches créées par le plan de maintenance, mais cela dépend de votre environnement.

Est-ce que cela a du sens?

+0

Pour clarifier - un plan de maintenance peut créer plusieurs emplois –

+0

Très vrai :) J'ai négligé cela dans ma tentative de simplification. –

+0

Le plan de maintenance est donc simplement une interface utilisateur graphique permettant de créer des travaux d'agent de serveur SQL et de les placer dans un ordre spécifique? – M4N

Questions connexes