SSIS: Standardmäßig funktioniert Logging OnError nicht mit RetainSameConnection
Ich verwende RetainSameConnection = true mit meinem Verbindungsmanager, da ich Transaktionen verwende (BEGIN TRANSACTION, COMMIT oder ROLLBACK am Ende bei Erfolg / Misserfolg).
Ich verwende auch den Standard-SQL Server-Protokollierungsanbieter und wähle das Ereignis OnError (und auch andere) aus.
Das Problem besteht darin, dass das OnError-Ereignis nicht in der sysssislog-Tabelle protokolliert wird (die Tabelle ist vorhanden und der Standardeinfüge-SP wurde erstellt). Es werden andere Ereignistypen protokolliert.
Mit dem SQL-Profiler kann ich überprüfen, ob der Befehl sp_ssis_addlogentry ausgeführt wurde:
exec sp_executesql N'exec sp_ssis_addlogentry @ P1, @ P2, @ P3, @ P4, @ P5, @ P6, @ P7, @ P8, @ P9, @ P10, @ P11 ', N' @ P1 nvarchar (4000), @ P2 nvarchar (4000), @ P3 nvarchar (4000), @ P4 nvarchar (4000), @ P5 uniqueidentifier, @ P6 uniqueidentifier, @ P7 datetime2 (7), @ P8 datetime2 (7), @ P9 int, @ P10 varbinary ( 8000), @ P11 nvarchar (4000) ', N'OnError', N'EWOIU027013096 ', N'ad \ oiu099', N'Empty AF SINtemp ',' 4CCEB32F-E884-483C-A02F-56D5C8438E44 ',' 15F585B AC6C-476F-8A2E-FC926438AC84 ',' 2012-07-12 14:46:15 ',' 2012-07-12 14: 46: 15 ', 0,0x, N'Violation of PRIMARY KEY Constraint' 'CIRNAGF0p0_AF' '. Doppelter Schlüssel kann nicht in Objekt '' dbo.TIRNAGF0_AF '' eingefügt werden. '
Das OnError-Ereignis wird jedoch nicht eingefügt.
Wenn ich die RetainSameConnection-Eigenschaft auf false ändere, funktioniert dies, aber dann kann ich mich nicht auf meine Transactions SQL-Aufgaben verlassen.
Hinweis: Ich habe sogar versucht, einen anderen Verbindungsmanager ausschließlich für die Protokollierung mit RetainSameConnection = false zu erstellen, aber es hat nicht funktioniert.
Ich kann mich ohne Probleme in einer Textdatei anmelden, aber wir müssen uns in einer Tabelle anmelden.
Danke im Voraus