SSIS Paketvariablen per Konfigurationsdatei setzen

by Axel Schulze 10. März 2011 13:21

Im Visual Studio ist es ein leichtes für SSIS-Paketkonfiguration zu erstellen. Einen Überblick darüber gibt dieser Artikel.Nun ist es häufig so, dass die Entwicklungskonfiguration nicht mit der Konfiguration eines Live-Systems überein stimmt (andere Server, Datenbanknamen etc.). Daher ist es in SQL Server 2005/2008 möglich im SQL Server Agent dem Paket eine andere Konfigurationsdatei mitzugeben.

image

Wird hier eine Konfigurationsdatei angegeben, dann werden die Werte aus dieser beim Start des Paketes ausgelesen und auf das Paket angewendet. Also kann ich davon ausgehen, dass vorhandene Entwicklungs-Konfigurationen überschrieben werden… JEIN! Bis SQL Server 2005 stimmt diese Annahme - ab SQL Server 2008 wird anders mit den Konfigurationsdateien umgegangen.

Ab SQL Server 2008 werden zunächst die Werte aus der Entwicklungsumgebung geladen, danach die Konfigurationsdatei geladen – deren Werte gesetzt und danach werden wieder die Werte aus der Entwicklungsumgebung verwendet um diese wieder zu überschreiben. Bedeutet also: Egal welche Konfiguration in der Datei steht – wenn es eine (Konfigurations-)Einstellung in der Entwicklung gab, wird diese zur Laufzeit verwendet… Dieses Verhalten ist hier nachzulesen: http://msdn.microsoft.com/en-us/library/bb500430.aspx

Frage: Wozu dann Konfigurationsdateien?
Antwort: Um zusätzliche Konfigurationen für die Laufzeit vorzunehmen. Ist im Paket für eine Eigenschaft keine Konfiguration vorgesehen, kann diese per Konfigurationsdatei gesetzt werden.

Frage: Wie können dann Konfigurationen für das Überschreiben von Entwicklungskonfigurationen gesetzt werden?
Antwort: Per “SET” Option, also bspw. /SET \Package.Variables[User::fileName].Properties[Value]; siehe auch hier

Tags:

SQLServer | SSIS

Kommentare sind geschlossen

Herzlich Willkommen

Herzlich Willkommen im SQL Server & ASP .NET Blog. Hier findet Ihr allerlei Nützliches und Hilfreiches...