2009-09-02 7 views
1

J'ai un certain nombre de packages SSIS qui sont lancés par les services Windows. Ces packages pointent vers n'importe quel nombre de bases de données différentes et les informations de connexion sont connues uniquement par le service au moment de l'exécution. Je sais que je ne peux pas enregistrer les chaînes de connexion à l'intérieur du paquet, mais il semble que je ne puisse même pas transmettre une "chaîne de connexion" complète en tant que variable; quand je le fais, le paquet échoue et il semble que le mot de passe soit supprimé. Ce que je peux faire, cependant, est de passer dans les parties de la chaîne de connexion dont j'ai besoin, puis de les réassembler en une chaîne de connexion de travail. Je ne veux pas faire ça; il semble bâclé et mal conseillé.SSIS et mots de passe

Quelqu'un at-il des idées sur la façon d'accomplir cela?

Répondre

1

Vous pouvez enregistrer des fichiers de configuration de package XML. Ils vont aussi supprimer les mots de passe, mais vous pouvez les ajouter à la main. Je les garde juste sur un emplacement sûr sur les serveurs, car ils sont XML, et les mots de passe ne sont pas cryptés. Toute personne qui peut accéder au fichier XML peut accéder à la base de données sur ce serveur de toute façon. Lorsque vous créez un travail pour exécuter le package, vous pouvez spécifier le fichier de configuration à utiliser et son emplacement. Si vous développez, le fichier de configuration est sur votre ordinateur. Une fois sur le serveur, placez le fichier de configuration dans un emplacement sécurisé sur ce même serveur.

0

Le déploiement et la configuration corrects des packages SSIS ne sont pas aussi faciles qu'il n'y paraît. Il y a un très bon rendez-vous grâce à MSDN à propos de la bonne façon de le faire (y compris la configuration de chaîne de connexion et de stockage de mot de passe):

Depoloying Integration Services Packages

... à la fin vous vous retrouvez avec un package de déploiement que vous installer sur le serveur, puis utiliser une combinaison de fichiers de configuration XML et de variables d'environnement pour configurer le package.

0

Vous pouvez transmettre des données dans des packages SSIS en tant que variables, et les valeurs de ces variables peuvent être «transmises» à pratiquement n'importe quelle propriété ou attribut dans le package. Une façon de le faire est de passer un nom de serveur en tant que variable, puis pour la connexion requise, j'ai utilisé Expressions pour assigner la variable à la propriété ServerName de la connexion. Je ne peux pas (rapidement) trouver un site Web qui décrit en détail comment faire cela, mais je l'ai appris à travers les tutoriels SSIS dans la documentation en ligne. (Et, en regardant un exemple de paquet, il semble que oui, vous pouvez passer une chaîne de connexion entière et l'assigner à une connexion via des expressions.)

Ceci est une bonne chose si vous avez besoin d'un bon niveau de contrôle sur ce que va dans vos paquets. Les fichiers de configuration XML sont efficaces si vos exigences sont plus simples. Et certainement être paranoïaque sur le stockage des mots de passe dans les fichiers C: \ Login.txt - si vous le pouvez, utilisez l'authentification NT.

Questions connexes