2011-01-13 12 views
1

Ich bin neu in SSIS-Paketen und versuche, die Protokollierung in einem benutzerdefinierten Skript zu aktivieren. Wir haben es bereits die nativen Nachrichten aus dem Paket protokollieren, aber ich möchte meine eigenen benutzerdefinierten Protokollmeldungen hinzufügen. Ich sehe auf der Microsoft.SqlServer.Dts.Pipeline.ScriptComponent Klasse gibt es eine Log-Methode, aber ich bin mir nicht sicher, was für die dataCode und dataBytes Argumente verwenden, so dass ich 0 und ein leeres Array verwendet, aber das hat nichts protokolliert.Protokollierung von SSIS-Paketen

Wie kann ich die Protokollierung in meinem Skript ausführen? Gibt es Konfigurationen, die ich kennen muss, um es zu aktivieren?

Dank

Hinweis: I mit SqlServer 2008 SP2 (nicht R2)

Antwort

1

Sie müssen sicherstellen, dass die Aufgabe für die Protokollierung aktiviert arbeitete. Wählen Sie SSIS> Logging ... im Menü BIDS. Wählen Sie Ihre Datenflussaufgabe aus. Stellen Sie auf der Registerkarte Anbieter und Protokolle sicher, dass ein Protokollanbieter ausgewählt ist. Wählen Sie die Registerkarte Details und überprüfen Sie das ScriptComponentLogEntry-Ereignis. Beachten Sie, dass dieses Ereignis nicht von den Paketeinstellungen geerbt wird. Sie müssen also die Datenflussaufgabe auswählen. Jetzt sollte Ihre Protokollierung erfasst werden.

Sie könnten auch interessiert sein an der ComponentMetaData.FireInformation Methode, um ein Informationsereignis zu protokollieren. Hier finden Sie weitere Informationen zu FireInformation und verwandten Methoden. Sie können diese leichter konfigurieren, da die zugehörigen Ereignisse (OnInformation for FireInformation) von den Paketeinstellungen geerbt werden. Mit anderen Worten: Wenn Sie die Protokollierung für das OnInformation-Ereignis auf der Paketebene festlegen, protokollieren alle Tasks das OnInformation-Ereignis.

+0

Danke, es schien, dass ich vergessen habe, dass Sie explizit über Protokollierung sein müssen und dass es nicht erben. Eine kuriose Sache ist jedoch, dass 'ComponentMetaData.FireInformation' die Nachricht zweimal auf zwei verschiedenen Ebenen protokolliert hat. Vielleicht war es, dass die Config geerbt und ich es explizit gesetzt habe. Nicht betroffen, da ich einfach den Log-Methodenaufruf der Basisklasse verwenden kann. Vielen Dank – user551962

Verwandte Themen