bond12 wrote:
Logging in SSIS as compared to DTS is more complex to set up with so many events. What events should I choose if I need something similar to DTS package logging i.e. I simply want to see which tasks executed at what time and whether they failed or succeded and if they failed, what was the error?
Good question. At a minimum you should log:
That's just my opinion of course.
-Jamie
In the SSIS few projects I have worked so far, I have chosen only onError and onWarning events; and even with these two I got many rows caused by the same error/warning, which is something i dot really like. For loging the start/end times I use custom tables that also captures other execution metadata.
I never have used DTS, so sorry I cannot offer a comparative point of view
Rafael Salas
Thanks,
Greg Van Mullem
Here is a link to the free Reporting Services report pack for SSIS events. I have also found them to be helpful, although the reports could use a little TLC on their appearance.
Hi,
I would suggest you to check only "OnError" and "OnTaskFailed" , these give you the information you are looking for, typically it would be similar to what it was in DTS.
Thanks
Someday as I add more SSIS packages I will need to go with a scheme like the one Jamie suggested. Note: I keep my custom event log records for 60 days.
Later,
Greg Van Mullem
Mabye it can be helpful from you. This a real schema (ordered) for one of our DTSX:
Hacer Getdate() is the name of Sql Task and Segunda Tarea too.
Acción | Evento | TaskHost | Package | Qu hace | Valor |
Validate | OnPreValidate |
| x | Revisa la configuración general del paquete por si tiene algo mal antes de ejecutar | p.Name = "{352DABF6-C5EF-4AD9-9810-F1637716F679}" |
| OnPostValidate |
| x | p.Name = "{352DABF6-C5EF-4AD9-9810-F1637716F679}" | |
LoadFromSqlServer | OnError |
| x | Lo carga en memoria. Si hay algo mal se disparan los eventos. |
|
| OnWarning |
| x |
| |
Execute | OnPreValidate |
| x | Lo Ejecuta | p.name = "NombrePaquete" |
| OnPreValidate | x |
|
| t.name = "TaskHost" |
| OnInformation | x |
|
|
|
| OnProgress | x |
|
| Validando Data Flow (0%) |
| OnProgress | x |
|
| Validando Data Flow (50%) |
| OnProgress | x |
|
| Validando Data Flow (100%) |
| OnPostValidate | x |
|
|
|
| OnPreValidate | x |
| TAREA SQL | Hacer Getdate() |
| OnPostValidate | x |
| TAREA SQL | Hacer Getdate() |
| OnPreValidate | x |
| TAREA SQL | Segunda Tarea |
| OnPostValidate | x |
| TAREA SQL | Segunda Tarea |
| OnPostValidate |
| x |
| p.name = "NombrePaquete" |
| OnQueryCancel |
|
|
| Return false / true |
| OnPreExecute |
| x |
| p.name = "NombrePaquete" |
| OnQueryCancel |
|
|
| Return false / true |
| OnPreExecute | x |
| TAREA SQL | Hacer Getdate() |
| OnPreValidate | x |
| TAREA SQL | Hacer Getdate() |
| OnPostValidate | x |
| TAREA SQL | Hacer Getdate() |
| OnQueryCancel |
|
|
| Return false / true |
| OnProgress | x |
| TAREA SQL | Hacer Getdate() |
| OnQueryCancel |
|
|
| Return false / true |
| OnPostExecute | x |
| TAREA SQL | Hacer Getdate() |
| OnQueryCancel |
|
|
| Return false / true |
| OnPreExecute | x |
| TAREA SQL | Segunda Tarea |
| OnPreValidate | x |
| TAREA SQL | Segunda Tarea |
| OnPostValidate | x |
| TAREA SQL | Segunda Tarea |
| OnQueryCancel |
|
|
| Return false / true |
| OnProgress | x |
| TAREA SQL | Segunda Tarea |
| OnQueryCancel |
|
|
| Return false / true |
| OnPostExecute | x |
| TAREA SQL | Segunda Tarea |
| OnQueryCancel |
|
|
| Return false / true |
| OnPreExecute | x |
| DATA FLOW | t.name = "Data Flow Task" |
| OnPreValidate | x |
| DATA FLOW | t.name = "Data Flow Task" |
| OnInformation | x |
| DATA FLOW | Iniciando fase de validación |
| OnProgress | x |
| DATA FLOW | Validando Data Flow (0%) |
| OnProgress | x |
|
| Validando Data Flow (50%) |
| OnProgress | x |
|
| Validando Data Flow (100%) |
| OnPostValidate | x |
|
|
|
| OnInformation | x |
|
|
|
| OnProgress | x |
|
| Fase de ejecución (0%) |
| OnProgress | x |
|
| Fase de ejecución (50%) |
| OnProgress | x |
|
| Fase de ejecución (100%) |
| OnInformation | x |
|
|
|
| OnProgress | x |
|
| Ejecutar previamente (0%) |
| OnInformation | x |
|
| Se inicia el procesamiento del archivo |
| OnProgress | x |
|
| Ejecutar previamente (50%) |
| OnProgress | x |
|
| Ejecutar previamente (100%) |
| OnInformation | x |
| DATA FLOW | INICIO FASE DE EJECUCIóN |
| OnInformation | x |
| DATA FLOW | El no total de filas es n |
| OnInformation | x |
|
|