Transmettre un ou plusieurs parameters au travail de l'agent SQL

J'ai trouvé un post affirmant qu'il est possible de passer des parameters à un Job SQL Agent , mais aucun "how to" n'a été inclus. Quelqu'un peut-il expliquer comment cela est fait?

Dans mon scénario, j'ai besoin d'un proc stocké pour appeler l'Agent SQL et passer un paramètre (s). Le travail de l'Agent SQL, à son tour, doit transmettre le (s) paramètre (s) à une étape du package SSIS.

L'alternative que j'ai entendu est d'avoir le proc stocké écrire des valeurs dans une table, et ensuite le travail de l'Agent SQL (ou le package SSIS invoqué) lire ces valeurs de la table. Je prendrai cette dernière approche si je le dois, bien que ce soit klugey.

Mise à jour: Le but de cet exercice est de former un test d'intégration consistant en (a) le travail SQL Agent qui fournit un file de configuration de package et (b) le package SSIS qui a besoin des valeurs dans le file de configuration du package. Par conséquent, je ne veux pas appeler directement le package SSIS. De plus, les testeurs n'ont pas l'autorisation de lancer directement le travail de l'Agent SQL, et ils ne doivent pas non plus être autorisés à provoquer la création dynamic des travaux de l'Agent SQL. Le sproc (légalement) contourne le problème d'autorisation. Enfin, le test d'intégration peut cibler l'un des dizaines de packages SSIS, mais il n'est pas pratique dans mon environnement d'avoir des dizaines de définitions de Job Agent SQL. Ergo, un sproc lance le travail SQL Agent, et le paramètre indique quel packageage SSIS lancer.

On dirait que vous devriez utiliser la fonction de configuration du packageage SSIS. Votre proc stocké peut mettre à jour les valeurs de configuration.

Une approche différente pourrait être de créer dynamicment le travail avec les parameters SSIS définis dans l'étape du travail. Un avantage possible de ceci est que le travail est conservé, donc s'il y a des problèmes ou des questions sur ce qu'est un paramètre, le travail est autour et vous pouvez déboguer la logique de création d'étape de travail / travail.

Si l'agent est simplement un moyen d'exécuter un package SSIS, les DBA lors de ma dernière opération ont créé 2 procs, RunSSISPackage et RunSSISPackage32 qui n'ont fait qu'appeler à dtexec pour exécuter un package en passant tous les parameters fournis.

Il y a aussi l'approche de GiiM qui peut fonctionner aussi bien mais jusqu'à ce que nous sachions quel problème vous essayez de résoudre, il est difficile de dire quelle est la meilleure approche.