it-swarm.com.de

SSIS Connection Manager sichern kein SQL-Kennwort

Ich hatte ein DTS, das SQL Server-Authentifizierungsverbindung hatte. Grundsätzlich ist das Benutzer-ID-Passwort im Paket selbst gespeichert. Wenn ich jetzt zu SSIS gehe, wird das Passwort nicht im Paket gespeichert. Ich habe das gesehen, als ich das Problem googelte. http://social.msdn.Microsoft.com/Forums/en-US/sqlintegrationservices/thread/c720e694-2f58-483a-9cd7-3feb7de2db7b aber keiner scheint eine gute Lösung gegeben zu haben. Kann jemand von Ihnen bitte helfen? Vielen Dank im Voraus

29
OpenSource

Diese Antwort zeigt auf diesen Artikel: http://support.Microsoft.com/kb/918760

Hier sind die vorgeschlagenen Lösungen - haben Sie sie bewertet?

  • Methode 1: Verwenden Sie ein SQL Server Agent-Proxykonto

Erstellen Sie ein SQL Server-Agent-Proxykonto. Dieses Proxy-Konto muss einen Berechtigungsnachweis verwenden, mit dem der SQL Server-Agent den Auftrag als das Konto ausführen kann, von dem das Paket erstellt wurde, oder als ein Konto mit den erforderlichen Berechtigungen.

Diese Methode entschlüsselt Geheimnisse und erfüllt die wichtigsten Anforderungen des Benutzers. Diese Methode kann jedoch nur eingeschränkt erfolgreich sein, da die SSIS-Paketbenutzerschlüssel den aktuellen Benutzer und den aktuellen Computer umfassen. Wenn Sie das Paket auf einen anderen Computer verschieben, schlägt diese Methode daher möglicherweise immer noch fehl, auch wenn der Jobschritt das richtige Proxy-Konto verwendet .. _. Zum Anfang

  • Methode 2: Legen Sie die ProtectionLevel-Eigenschaft des SSIS-Pakets auf ServerStorage fest

Ändern Sie die ProtectionLevel-Eigenschaft des SSIS-Pakets in ServerStorage. Diese Einstellung speichert das Paket in einer SQL Server-Datenbank und ermöglicht die Zugriffssteuerung über SQL Server-Datenbankrollen . Zum Anfang

  • Methode 3: Legen Sie die ProtectionLevel-Eigenschaft des SSIS-Pakets auf EncryptSensitiveWithPassword fest

Ändern Sie die ProtectionLevel-Eigenschaft des SSIS-Pakets in EncryptSensitiveWithPassword. Diese Einstellung verwendet ein Kennwort zur Verschlüsselung. Sie können dann die Befehlsschritt-Befehlszeile des SQL Server-Agenten so ändern, dass sie dieses Kennwort enthält.

  • Methode 4: Verwenden Sie SSIS-Paket-Konfigurationsdateien

Verwenden Sie SSIS-Paket-Konfigurationsdateien, um vertrauliche Informationen zu speichern, und speichern Sie diese Konfigurationsdateien anschließend in einem gesicherten Ordner. Sie können dann die ProtectionLevel-Eigenschaft in DontSaveSensitive ändern, sodass das Paket nicht verschlüsselt wird und nicht versucht, Geheimnisse im Paket zu speichern. Wenn Sie das SSIS-Paket ausführen, werden die erforderlichen Informationen aus der Konfigurationsdatei geladen. Stellen Sie sicher, dass die Konfigurationsdateien ausreichend geschützt sind, wenn sie vertrauliche Informationen enthalten.

  • Methode 5: Erstellen Sie eine Paketvorlage

Erstellen Sie für eine langfristige Lösung eine Paketvorlage, die eine von der Standardeinstellung abweichende Schutzstufe verwendet. Dieses Problem wird in zukünftigen Paketen nicht auftreten.

26
Sam

Sie können das Passwort in der Konfigurationszeichenfolge speichern, indem Sie zu den Eigenschaften gehen und password = IhrPassword hinzufügen. Wie nachfolgend dargestellt: 

Data Source=50.21.65.225;User ID=vc_ssis; [email protected]; 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;

Hoffe das hilft -- Vijay K

15
VijayK

Ich verwende eine Variable, um die gesamte Verbindungszeichenfolge zu speichern und in den ConnectionString-Ausdruck zu übergeben. Dadurch werden alle Einstellungen für die Verbindung überschrieben und Sie können das Kennwort speichern.

8
Dave Sexton

Das entworfene Verhalten in SSIS besteht darin, das Speichern von Kennwörtern in einem Paket zu verhindern, da dies eine schlechte Praxis/nicht sicher ist. 

Verwenden Sie stattdessen entweder Windows auth, um keine Geheimnisse in Paketen oder Konfigurationsdateien zu speichern. Wenn dies in Ihrer Umgebung wirklich unmöglich ist (möglicherweise haben Sie keine Windows-Domäne), müssen Sie eine Problemumgehung verwenden, wie in beschrieben http://support.Microsoft.com/kb/918760 (Sam stimmt, lesen Sie einfach weiter in diesem Artikel). Die einfachste Antwort ist eine Konfigurationsdatei, die zum Paket passt, aber Sie müssen sich Sorgen machen, dass die Konfigurationsdatei sicher gespeichert wird, sodass jemand sie nicht einfach lesen und die Anmeldeinformationen verwenden kann.

6
onupdatecascade

Versuchen Sie, die Verbindungszeichenfolge zusammen mit dem Kennwort in einer Variablen zu speichern und die Variable in der Verbindungszeichenfolge mit expression zuzuweisen. Ich hatte auch das gleiche Problem und löste wie dis.

Das passierte auch bei mir und wurde folgendermaßen korrigiert:

Ausdrucksbasierte Verbindungszeichenfolge erstellt und Kennwort in einer Variablen gespeichert und verwendet.

0
Ramanujam Allam

Hier ist eine einfachere Option, die funktioniert, wenn ich darauf stoße.

Nachdem Sie die Verbindung erstellt haben, wählen Sie die Verbindung aus und öffnen Sie die Eigenschaften. Suchen Sie in der Kategorie Ausdrücke nach Kennwort. Geben Sie das Passwort erneut ein und drücken Sie die Eingabetaste. Es wird jetzt in der Verbindung gespeichert.

0
MHeath

Es gibt einen einfachen Weg, dies zu tun. Ich weiß nicht, warum die Leute komplizierte Antworten geben.

Doppelklicken Sie auf das SSIS-Paket. Wechseln Sie dann zum Verbindungsmanager, wählen Sie DestinationConnectionOLDB aus und geben Sie dann neben dem Anmeldefeld ein Kennwort ein.

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

Machen Sie dasselbe für SourceConnectionOLDB.

0
Tarak

Bitte überprüfen Sie die Konfigurationsdatei im Projekt, setzen Sie dort ID und Passwort, damit Sie das Paket ausführen können

0
Prabish VT