web-dev-qa-db-fra.com

Comment configurer le projet SSIS 2012 pour qu'il s'exécute sous différentes configurations d'environnement?

Quelle serait la meilleure façon logique de configurer un projet SSIS 2012 en utilisant le Project Deployment Model?

Considérez un scénario d'un projet SSIS MyImport-Project ayant trois paquets

Solution de projet:

  • MyImport-Project
    • Import-Package-01
    • Import-Package-02
    • Import-Package-03

Variables du projet:

  • Project-DBConnString: utilisé par tous les packages pour se connecter à une seule base de données.
  • Project-FolderPath: utilisé par tous les packages pour rechercher des fichiers d'entrée

Environnements:

Le projet se déploie sur

  • Serveur QA
  • Serveur intermédiaire
  • Serveur de production

Existe-t-il une méthode standard de configuration des paramètres du projet?

J'ai vu pas mal d'articles sur les fichiers de configuration des packages. Existe-t-il un moyen de configurer les paramètres du projet en fonction de l'environnement de déploiement?

24

Le modèle de déploiement de projet SSIS 2012 offre une plus grande flexibilité pour créer des environnements et configurer des valeurs spécifiques à l'environnement, qui peuvent être mappées aux paramètres du projet. Voici un exemple qui illustre comment vous pouvez exécuter un package déployé sur Integration Services Catalog contre plusieurs environnements. Idéalement, l'environnement de production devrait être sur son propre serveur. Cet exemple utilise tous les environnements sur le même serveur pour plus de simplicité.

Catalogue des services d'intégration SSIS 2012 avec des valeurs spécifiques à l'environnement:

Supposons que vous avez déployé un package dans le catalogue Integration Services avec deux paramètres de projet nommés Environment et FilePath. Pour exécuter le package sous différents environnements, vous pouvez créer plusieurs environnements sous Integration Services Catalogs \ SSIDB \ Folder name \ Environments

Cet exemple contient trois dossiers d'environnement nommés DEV, PRD et TST

Environment Folders

Pour créer des variables qui doivent ensuite être mappées aux paramètres du projet, double-cliquez sur l'environnement sous le dossier Environnements. Cet exemple montre comment configurer des valeurs dans tous les environnements.

Depuis, le package a deux paramètres de projet nommés Environment et FilePath, nous allons créer deux variables d'environnement du même nom. Tous les environnements sont configurés avec same noms de variables mais avec different valeurs.

DEV Environment

TST Environment

PRD Environment

Pour mapper les variables d'environnement aux paramètres du projet, cliquez avec le bouton droit sur le projet sous le catalogue Integration Services et cliquez sur Configure...

Project Configure

Dans la boîte de dialogue Configurer , cliquez sur la page References et ajoutez chaque environnement qui doit être associé au projet.

Configure References

Dans la boîte de dialogue Configurer , cliquez sur la page Parameters. Pour chaque paramètre répertorié sous l'onglet Parameters, vous devez cliquer sur l'onglet Ellipsis pour mapper la variable d'environnement appropriée.

Configure Parameters

Dans la boîte de dialogue Définir la valeur du paramètre, sélectionnez Utiliser le bouton radio de la variable d'environnement et choisissez la variable appropriée. Ici, le paramètre mappé est [Practice.SSDT].[Environment]. Par conséquent, il est mis en correspondance avec la variable d'environnement Environment.

Set Parameter Value

Une fois que vous avez mappé le paramètre avec la variable d'environnement appropriée, vous pouvez choisir l'environnement correct pendant l'exécution du package. Pour exécuter le package, cliquez avec le bouton droit sur le package et cliquez sur Execute...

Execute Package

Dans la boîte de dialogue Exécuter le package , cochez la case Environment et sélectionnez l'environnement approprié à partir duquel le package doit utiliser les valeurs d'exécution.

Execute Package

L'exemple de package SO_15206184.dtsx dans cet exemple insère simplement les valeurs des paramètres du projet Environment et FilePath dans une table. Voici les résultats de l'exécution du package dans différents environnements, même celui inclus depuis SSDT.

Package Execution Results

66
user756519

D'après ma lecture de votre question, vous avez 3 serveurs distincts sur lesquels déployer, chacun avec sa propre instance du catalogue SSIS. Vous ne voulez pas qu'un seul serveur s'exécute pour plusieurs environnements. Pour ce scénario, la réponse de user756519 est malheureusement peu utile - 10 sur 10 pour l'effort cependant.

J'ignorerais la configuration "Environnements" dans SSIS. Il s'agit de gérer plusieurs environnements sur une seule instance SQL Server.

Au lieu de cela, je voudrais:

  1. définissez les valeurs du paramètre de projet Environment 1 dans la solution Visual Studio et déployez-les dans Environment 1
  2. Déployer dans l'environnement 2
  3. Utilisez SSMS pour vous connecter à Environment 2, naviguez sous Catalogues Integration Services pour trouver votre projet, cliquez dessus avec le bouton droit et choisissez Configurer. Modifiez les paramètres comme requis pour Environnement 2
  4. Déployer dans l'environnement 3
  5. Utilisez SSMS pour vous connecter à Environment 3, naviguez sous Catalogues Integration Services pour trouver votre projet, cliquez dessus avec le bouton droit et choisissez Configurer. Modifiez les paramètres comme requis pour Environnement 3

Vous pouvez désormais continuer à développer et déployer votre projet dans chaque environnement. Aucune maintenance supplémentaire n'est requise, sauf si vous ajoutez/supprimez/renommez un paramètre de projet. Lorsqu'un package est exécuté sur chaque environnement/serveur, il suivra la configuration définie via SSMS

12
Mike Honey