Créer une pause dans un package SSIS

Comment créer une pause dans un package SSIS ? L’ETL SSIS de Microsoft ne propose pas de composant natif dédié pour créer une pause de quelques secondes dans un flux de contrôle. Pour marquer un temps d’arrêt entre l’exécution des tâches ou des requêtes SQL, une des alternatives est de créer une boucle en C#. En effet via le composant Script Task, utiliser les fonctions temps pour attendre le temps souhaité.

Créer une pause de quelques secondes dans un package SSIS avec une requête SQL

Toutefois une solution encode plus simple est d’utiliser la tâche Execute SQL Task et la fonction T-SQL WAITFOR DELAY. Ou encore de programmer le moment auquel le package doit être finir son exécution.

Cette page explique de manière structurée comment apprendre les bases de Microsoft SSIS.

Voici un exemple de script T-SQL pour ajouter simplement une pause de quelques secondes, minutes ou quelques heures avant de passer au composant suivant.

Il permet de facilement créer une pause. Pour cela en paramétrer les heures, les minutes et les secondes.

Ajouter et paramétrer le composant Execute SQL Task

Depuis Visual Studio 2019, ajouter le composant exécution de tâche SQL entre les deux data flow pour temporiser.

Configurer au préalable une connexion OLE DB vers une base de données SQL Server. Ici c’est une base locale et donc localhost come serveur.

Ajouter une tâche SQL pour créer une pause dans le package SSIS
Ajouter une tâche SQL pour créer une pause dans le package SSIS

Configurer le composant avec une requête T-SQL pour attendre le temps souhaité, dans cet ordre :

  • Heures
  • Minutes
  • Secondes

Dans cet exemple de code, le script créé une pause de 5 secondes :

WAITFOR DELAY '00:00:05'; 
Sélectionner la base de données et ajouter le code T-SQL
Sélectionner la base de données et ajouter le code T-SQL

Exécuter le package et observer la pause

Une fois la pause en place, exécuter le package avec les autres data flows utiles et observer le temps de pause de 5 secondes:

Le package SSIS fait une pause de 5 secondes puis passe à la tâche suivante
Le package SSIS fait une pause de 5 secondes puis passe à la tâche suivante

Une fois la pause terminée, la suite des tâches s’exécutent normalement. Il est possible de gérer ce script également avec des variables SSIS pour plus de flexibilité.

Fin d'exécution avec succès du package SSIS avec une pause
Fin d’exécution avec succès du package SSIS avec une pause

Voici un autre tutoriel SSIS pour apprendre à gérer et exécuter les packages SSIS en ligne de commande MS-DOS.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*