Wie erstelle ich ein Fehlerprotokoll oder ein benutzerdefiniertes Fehlerprotokoll in einem SSIS-Paket?

7

Ich arbeite an SQL 2008 - SSIS-Paket. Ich führe das Paket aus C # -Code aus. Es ist eine einfache Flat-Datei (.csv) in die SQL-Tabelle.

Aus dem C # -Code erhalte ich das Ausführungsergebnis als SUCCESS , aber innerhalb des Pakets, das die Transaktionen nicht ausgeführt haben, werden die Werte nicht wirklich exportiert.

Ich muss es debuggen, indem ich die Protokolldatei lese.

Wie erstelle ich ein Fehlerprotokoll oder eine Protokolldatei im Paket?

    
goofyui 24.04.2011, 19:19
quelle

2 Antworten

20

Hier ist eine Möglichkeit, die Protokollierungsfunktion in SSIS zu konfigurieren. In diesem Beispiel habe ich Send Mail Task zum Fehlschlagen konfiguriert, und ich habe die SQL Server-basierte Protokollierung aktiviert, die die Meldungen OnError und OnTaskFailed speichert, wenn das Paket fehlschlägt. Es gibt noch andere Ereignisse, die für Sie von Interesse sein könnten. In den Projekten, an denen ich gearbeitet habe, haben diese beiden Aufgaben mir geholfen, die meisten Probleme in SSIS-Paketen zu identifizieren.

Schritt-für-Schritt-Prozess:

  1. Das SSIS-Paket in diesem Beispiel enthält einen Send Mail Task, der wie im Screenshot # 1 konfiguriert ist. Es ist so konfiguriert, dass es fehlschlägt, so dass wir einige Fehlermeldungen in der Protokolltabelle sehen können.
  2. Klicken Sie auf das SSIS-Paket.
  3. Wählen Sie in den Menüs SSIS - & gt; Protokollierung ... Siehe Screenshot # 2 .
  4. Wählen Sie im Dialogfeld Configure SSIS Logs: den Providertyp und klicken Sie auf Add. Ich habe SQL Server für dieses Beispiel gewählt. Aktivieren Sie das Kontrollkästchen Name und geben Sie die Datenquelle unter Configuration column an. Hier ist SQLServer der Name des Verbindungs-Managers. SSIS erstellt eine Tabelle mit dem Namen dbo.sysssislog und der gespeicherten Prozedur dbo.sp_ssis_addlogentry in der von Ihnen ausgewählten Datenbank. Siehe Screenshot # 3 unten.
  5. Wenn Sie die Fehler erfassen möchten, aktivieren Sie das Kontrollkästchen OnError und OnTaskFailed . Siehe Screenshot # 4 unten.
  6. Die Ausführung des Beispielpakets in der Datenflusstask wird im Screenshot # 5 unten gezeigt.
  7. Die Beispielausgabe der Protokolltabelle dbo.sysssislog wird im Screenshot # 6 unten angezeigt. Ich habe nur wenige Spalten id , event , source und message angezeigt. Es gibt andere Spalten in der Tabelle. Nachrichtenspalte enthält die Fehlermeldung, hier ist in diesem Fall der Servername falsch, der in dem Send Mail Task erwähnt wird. Die Quellspalte enthält die Aufgabe, bei der der Fehler aufgetreten ist. In diesem Fall lautet der Paketname SSISLoggingExample und der Task "Mail senden" wird als E-Mail-Aufgabe bezeichnet. Fehlermeldungen werden von der Aufgabe auf die Paketebene übergehen. Daher wird die Fehlermeldung sowohl unter der Aufgabe als auch auf der Paketebene doppelt protokolliert.

Ich hoffe, das hilft.

Screenshot 1:

Screenshot 2:

Screenshot 3:

Screenshot 4:

Screenshot 5:

Screenshot 6:

    
user756519 27.05.2011 16:22
quelle
2

Es ist sehr einfach, Fehler in SSIS zu protokollieren. Wechseln Sie zum Tab Event-Handler und wählen Sie im Drop-down-Menü den Eintrag OnError. Jetzt können Sie hier E-Mails zu jedem Fehler senden, oder Sie können Ihre eigene Logik entwickeln, um Fehler in der Datenbank zu protokollieren oder in eine Textdatei zu schreiben.

Sie können auch einen vorhandenen Protokollierungsmechanismus auswählen, der in SSIS verfügbar ist. Klicken Sie auf das Menü "SSIS", Sie werden die erste Option als Protokollierung sehen, dann werden Sie verschiedene Optionen sehen, um Fehler / Warnungen und viele Informationen zu protokollieren, die Sie benötigen.

    
pramodtech 27.04.2011 09:26
quelle