ETL: Logging y auditoría en SSIS

1,469 views

Published on

Cuando cargamos nuestros datos ¿como aseguramos que nuestros paquetes están ejecutándose correctamente sin dar errores? ¿como los configuro? ¿que es recomendable auditar y que no?

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,469
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ETL: Logging y auditoría en SSIS

  1. 1. BIN-302ETL: Logging y auditoría en SSISSalvador RamosMentor – Business IntelligenceSQL Server MVP, MCTS, MCITPsramos@solidq.com
  2. 2. Agendaα El día a díaα ¿Qué ha ocurrido?α ¿Qué auditar?α Logging, auditoría y trazabilidad del datoα Conclusiones
  3. 3. El día a díaα Diseño de procesos ETLα Testingα Puesta en producciónα Ejecuciones periódicas
  4. 4. ¿Qué ha ocurrido?Error de ejecución del paqueteα Sólo tengo un mensaje de errorα No sé … β qué ha ocurrido antes del error β qué ha ocasionado el error β desde donde relanzar el proceso β qué datos se han actualizado β si son coherentes mis datos tras el error
  5. 5. ¿Qué ha ocurrido?Los datos no cuadranα La aplicación me dice que vendimos 20.000 y el BI 20.500α Informes, con los mismos parámetros y sacados en fechas diferentes, muestran datos diferentesα No consigo reproducirlo 
  6. 6. ¿Qué ha ocurrido?Tenemos un problema
  7. 7. ¿Qué ha ocurrido?Tenemos un problema
  8. 8. ¿Hay solución?α El Logging de SSIS es necesario, pero no suficienteα Además necesitamos: β Auditar procesos con detalle β Registrar cambios β Trazabilidad del dato desde el origen al destino
  9. 9. Framework propuesto¿Qué vamos a auditar?α Ejecuciones de paquetes β Paquetes y versiones β Inicio , Checkpoints, Finα Errores de ejecuciónα Orígenes y destinos β Fuentes de datos β Detalle de sentencias ejecutadasα Filas afectadas β Id de ejecución del paquete β Cambios realizados
  10. 10. Framework propuestoEjecución de paquetes - almacenamiento
  11. 11. Framework propuestoEjecución de paquetes – Inserción de filasCREATE PROCEDURE [Config].[ExecutionLogSSIS_Insert] @PackageGUID UNIQUEIDENTIFIER , @PackageName VARCHAR(250) , @PackageCreator VARCHAR(250) , @CreationDate DATETIME , @VersionGUID UNIQUEIDENTIFIER , @VersionBuild INT , @VersionMajor INT , @VersionMinor INT , @VersionComments VARCHAR(250) , @ExecutionGUID UNIQUEIDENTIFIER , @ParentExecutionGUID UNIQUEIDENTIFIER , @Computer VARCHAR(100) , @User VARCHAR(100) , @Event CHAR(1) , @EventDescription VARCHAR(100) , @DateExecution DATETIME
  12. 12. Framework propuestoErrores - almacenamiento
  13. 13. Framework propuestoErrores - inserción de filasCREATE PROCEDURE [Config].[ErrorLogSSIS_Insert] @ExecutionID INT , @DateExecution DATETIME , @ErrorCode INT , @ErrorDescription VARCHAR(MAX)AS SET NOCOUNT ON; BEGIN TRAN -- INSERT Execution INSERT INTO Config.ErrorLogSSIS(ExecutionID,DateExecution, ErrorCode, ErrorDescription) VALUES(@ExecutionID, @DateExecution, @ErrorCode,@ErrorDescription) COMMITGO
  14. 14. Framework propuestoOrígenes y destinos - almacenamiento
  15. 15. Framework propuestoOrígenes y destinos - inserción de filasCREATE PROCEDURE[Config].[ExecutionLogSSIS_SourceDest_Insert] @ExecutionID INT , @Type TINYINT -- Origen o Destino , @SourceType TINYINT , @Description VARCHAR(MAX) , @Rows INTAS SET NOCOUNT ON; BEGIN TRAN -- INSERT SourceDest INSERT INTO Config.ExecutionLogSSIS_SourceDest(ExecutionID, [Type], SourceType, [Description], [Rows]) VALUES(@ExecutionID, @Type, @SourceType,@Description, @Rows) COMMITGO
  16. 16. Framework propuestoHistorial de cambios - almacenamientoα Una tabla adicional por cada tabla a auditar
  17. 17. Framework propuesto y paquete de ejemplo
  18. 18. Framework propuestoAlmacenamiento
  19. 19. Framework propuestoY aún hay mas …α Crear plantillasα Crear informesα Auditar variables del paqueteα Control de verbosidad (verbose) β Hacerlo dinámico
  20. 20. Conclusiones¿Qué ha ocurrido?α Logging, auditoría y trazabilidad del dato
  21. 21.  No olvideis rellenar las evaluaciones en el Portal del Summit! Nos encontrareis en la zona de exposición en los siguientes horarios α El miércoles por la tarde a la hora del café α En cualquier descanso  Salvador Ramos Mentor – Business Intelligence SQL Server MVP, MCTS, MCITP sramos@solidq.com
  22. 22. Salvador RamosMentor – Business Intelligence SQL Server MVP, MCTS, MCITP sramos@solidq.com

×