Ganz einfaches Logging in eine Textdatei lässt sich für SSIS-Pakete recht simpel wie unten beschrieben konfigurieren.
Empfehlenswert ist diese Methode hauptsächlich zum Debuggen während der Entwicklungsphase. Im Produktivbetrieb macht das Logging in eine Datenbank mehr Sinn, insbesondere wenn die Logs automatisiert weiterverarbeitet werden sollen.
- Zuerst eine Variable “pLogPath” (String) mit dem Inhalt ”.” anlegen. Diese wird am Besten beim Aufruf des Pakets zur Laufzeit gesetzt.
- Im Menu unter SSIS > Logging… einen neuen Provider vom Typ “Text File” hinzufügen.
- Für den Provider eine neue Connection anlegen und einen (an dieser Stelle beliebigen) Dateipfad konfigurieren.
- In den Logging-Details die Events “OnError”, “OnWarning”, ggf. “OnPreExecute” und “OnPostExecute” und nach Bedarf noch andere auswählen.
- Den Logging-Dialog mit OK bestätigen und ggf. den Dateinamen der Logging-Connection anpassen. (s.u.)
Bonus: dynamische Logfile-Namen
Um die Logfiles mit einem dynamischen Dateinamen (zB. “Paketname_YYYYMMDD.log”) zu erstellen muss im Logfile Connectionmanager die folgende Expression für “ConnectionString” konfiguriert werden:
@[User::pLogPath] + "\\" + @[System::PackageName] + "_"
+ (DT_STR,4,1252) DatePart("yyyy",@[System::StartTime] )
+ Right("0" + (DT_STR,4,1252) DatePart("m",@[System::StartTime]),2)
+ Right("0" + (DT_STR,4,1252) DatePart("d",@[System::StartTime]),2)
+ ".log"