2010-09-25 17 views
2

Je suis nouveau sur SSIS, mon projet n'en est qu'à ses débuts, avec seulement & environnements de test sur des serveurs séparés. L'environnement de production sera sur le même serveur que le test (je n'ai pas le mot à dire!). J'ai un certain nombre de paquets qui ont chacun un travail d'agent de SQL pour les programmer et j'ai besoin d'un moyen de manipuler des configurations de paquet pour la production de dev, de test &. Je sais que je peux stocker 2 versions des paquets dans des répertoires différents dans MSDB sur le même serveur mais quelle est la meilleure façon d'implémenter la production de test & sur le même serveur avec le moins de travail manuel à déployer en production?Options de configuration SSIS où test et production sont sur le même serveur

Je pourrais déployer les paquets à 2 endroits différents dans MSDB et créer un travail pour chaque paquet (1 pour test, 1 pour prod) mais comment configurer la configuration du paquet pour que le paquet lui-même n'ait pas besoin de changer environnements?

Répondre

2

Vous avez plusieurs options:

  1. Créer une table de configuration de package comme décrit here et here. Cela peut fonctionner correctement si vous exécutez les packages sur le même serveur. Remplacer les paramètres de connexion dans le travail de l'Agent SQL Server

  2. Cela peut fonctionner assez bien, mais il peut être difficile à gérer si chaque travail doit remplacer les paramètres de connexion.

  3. Utilisez le fichier XML de configuration du package et exécutez vos packages via l'agent via DTEXEC. Cela me semble exagéré si les paquets sont sur le même serveur.

  4. Utilisez une variable dans le package qui inspecte le magasin sous lequel il s'exécute pour déterminer la base de données à utiliser. C'est une théorie que je n'ai pas testée. Si j'ai raison, l'avantage de cette approche est que vous n'avez pas besoin de configurer quoi que ce soit en dehors du paquet. L'inconvénient est qu'il peut être difficile ou impossible à mettre en œuvre, en particulier lorsque vous devez considérer comment le package s'exécutera localement dans BIDS pendant les tests.