Le Gestionnaire de connexion SIS ne stocke pas le mot de passe SQL

j'avais l'habitude d'avoir un dts qui avait une connexion d'authentification sql server. Fondamentalement, le mot de passe userid est stocké dans le paquet lui-même. Maintenant, quand je vais à SSIS, le mot de passe ne sera pas stocké dans le paquet. Je l'ai vu quand je google le problème. http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/c720e694-2f58-483a-9cd7-3feb7de2db7b mais personne ne semble avoir donné une bonne résolution. Quelqu'un peut-il vous aider s'il vous plaît? Merci à l'avance

27
demandé sur Dave Sexton 2009-08-13 23:27:08

8 réponses

Que la réponse à cet article: http://support.microsoft.com/kb/918760

Voici les solutions proposées - avez-vous évalué?

  • Méthode 1: Utiliser un Agent de SQL Server proxy compte

créer un compte mandataire SQL Server. Ce compte proxy doit utiliser un justificatif d'identité qui permet à SQL Server Agent d'exécuter la tâche comme le compte qui a créé le paquet ou comme un compte qui a le nécessaire autorisation.

Cette méthode fonctionne pour décrypter les secrets et satisfait aux exigences de l'utilisateur. Cependant, cette méthode peut avoir un succès limité parce que le paquet SSIS user keys implique l'utilisateur courant et l'ordinateur courant. Par conséquent, si vous déplacez le paquet vers un autre ordinateur, cette méthode peut toujours échouer, même si l'étape de travail utilise le bon compte de mandataire. Retour en haut

  • Méthode 2: Définir la propriété SSIS Package ProtectionLevel à ServerStorage

changez la propriété SSIS Package ProtectionLevel en ServerStorage. Ce paramètre stocke le paquet dans une base de données SQL Server et permet le contrôle d'accès via les rôles de base de données SQL Server. Retour en haut

  • Méthode 3: Définir la propriété de Package SSIS ProtectionLevel EncryptSensitiveWithPassword

modifier la propriété SSIS Package ProtectionLevel en EncryptSensitiveWithPassword. Ce paramètre utilise un mot de passe pour cryptage. Vous pouvez alors modifier la ligne de commande SQL Server Agent job step pour inclure ce mot de passe.

  • méthode 4: Utiliser les fichiers de configuration du paquet SSIS

utilisez les fichiers de configuration des paquets SSIS pour stocker des informations sensibles, puis enregistrez ces fichiers de configuration dans un dossier sécurisé. Vous pouvez alors changer la propriété ProtectionLevel en DontSaveSensitive de sorte que le paquet ne soit pas crypté et n'essaie pas de sauvegarder des secrets dans le paquet. Lorsque vous exécutez le paquet SSIS, l'information requise est chargée à partir du fichier de configuration. Assurez-vous que les fichiers de configuration sont correctement protégés s'ils contiennent des informations sensibles.

  • méthode 5: Créer un modèle de paquet

pour une résolution à long terme, créez un modèle de paquet qui utilise un niveau de protection différent du paramètre par défaut. Ce problème ne se posera pas dans les paquets futurs.

24
répondu Sam 2016-06-24 16:29:31

Vous pouvez stocker le mot de passe dans la chaîne de configuration en allant à propriétés et en ajoutant mot de passe=yourpassword mais très important de mettre un espace avant 'mot de passe 'et après';' comme indiqué ci-dessous:

Data Source=50.21.65.225;User ID=vc_ssis; password=D@mc317Feo; Initial Catalog=Sales; Provider=SQLNCLI10.1; Persist Security Info=True;Auto Translate=False; Application Name=SSIS-PKG_CustomerData-{2A666833-6095-4486-C04F-350CBCA5C49E}IDM11.Sales.dev;

J'espère que cela aidera -- Vijay K!--4-->

15
répondu VijayK 2016-07-26 22:49:03

j'utilise une variable pour stocker toute la chaîne de connexion et la passer dans l'expression ConnectionString. Cela annule tous les paramètres de la connexion et vous permet de stocker le mot de passe.

8
répondu Dave Sexton 2012-11-28 13:38:29

le comportement conçu dans SSIS est d'empêcher le stockage de mots de passe dans un paquet, parce que c'est une mauvaise pratique/pas sûr de le faire.

au lieu de cela, utilisez soit Windows auth, de sorte que vous ne stockez pas de secrets dans des paquets ou des fichiers de configuration, ou, si c'est vraiment impossible dans votre environnement (peut-être que vous n'avez pas de domaine Windows, par exemple), alors vous devez utiliser une solution de contournement telle que décrite dans http://support.microsoft.com/kb/918760 (Sam's correct, just read further in that article). Le la réponse la plus simple est un fichier de configuration pour aller avec le paquet, mais alors vous devez vous inquiéter que le fichier de configuration est stocké en toute sécurité afin que quelqu'un ne peut pas simplement le lire et prendre les informations d'identification.

6
répondu onupdatecascade 2009-08-14 00:06:16

veuillez vérifier le fichier de configuration dans le projet, définissez ID et password là-bas, de sorte que vous exécutiez le paquet

0
répondu Prabish VT 2014-03-21 08:05:52

Il y a moyen facile de le faire. Je ne sais pas pourquoi les gens donnent des réponses compliquées.

double clic paquet SSIS. Ensuite, allez dans Gestionnaire de connexion, sélectionnez DestinationConnectionOLDB et ajoutez le mot de passe à côté du champ login.

Exemple: Data Source=SysproDB1;User ID=test;password=test;Initial Catalog=ASBuiltDW;Provider=SQLNCLI11;Auto Translate=false;

faire la même chose pour SourceConnectionOLDB.

0
répondu Tarak 2016-09-13 22:00:49

Il s'est passé avec moi ainsi et fixé de la manière suivante:

création d'une chaîne de connexion basée sur l'expression et sauvegarde le mot de passe dans une variable et l'utilise.

0
répondu Ramanujam Allam 2018-05-14 12:06:22

Voici une option plus simple qui fonctionne quand je rencontre ceci.

après avoir créé la connexion, sélectionnez la connexion et ouvrez les propriétés. Dans la catégorie Expressions trouver mot de passe. Entrez de nouveau le mot de passe et appuyez sur Entrée. Il sera maintenant sauvegardé sur la connexion.

0
répondu MHeath 2018-05-24 17:09:26