SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
BIN-302
ETL: Logging y auditoría en SSIS

Salvador Ramos
Mentor – Business Intelligence
SQL Server MVP, MCTS, MCITP
sramos@solidq.com
Agenda
α   El día a día
α   ¿Qué ha ocurrido?
α   ¿Qué auditar?
α   Logging, auditoría y trazabilidad del dato
α   Conclusiones
El día a día
α   Diseño de procesos ETL
α   Testing
α   Puesta en producción
α   Ejecuciones periódicas
¿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
¿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 
¿Qué ha ocurrido?
Tenemos un problema
¿Qué ha ocurrido?
Tenemos un problema
¿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
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
Framework propuesto
Ejecución de paquetes - almacenamiento
Framework propuesto
Ejecución de paquetes – Inserción de filas

CREATE 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
Framework propuesto
Errores - almacenamiento
Framework propuesto
Errores - inserción de filas

CREATE 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)
       COMMIT
GO
Framework propuesto
Orígenes y destinos - almacenamiento
Framework propuesto
Orígenes y destinos - inserción de filas

CREATE PROCEDURE
[Config].[ExecutionLogSSIS_SourceDest_Insert]
         @ExecutionID       INT
       , @Type              TINYINT -- Origen o Destino
       , @SourceType        TINYINT
       , @Description       VARCHAR(MAX)
       , @Rows              INT
AS
       SET NOCOUNT ON;
       BEGIN TRAN
       -- INSERT SourceDest
       INSERT INTO Config.ExecutionLogSSIS_SourceDest
(ExecutionID, [Type], SourceType, [Description], [Rows])
       VALUES(@ExecutionID, @Type, @SourceType,
@Description, @Rows)
       COMMIT
GO
Framework propuesto
Historial de cambios - almacenamiento
α Una tabla adicional por cada tabla a auditar
Framework propuesto y paquete de ejemplo
Framework propuesto
Almacenamiento
Framework propuesto
Y aún hay mas …
α Crear plantillas
α Crear informes

α Auditar variables del paquete
α Control de verbosidad (verbose)
 β   Hacerlo dinámico
Conclusiones
¿Qué ha ocurrido?
α Logging, auditoría y trazabilidad del dato
 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
Salvador Ramos
Mentor – Business Intelligence
     SQL Server MVP, MCTS, MCITP
          sramos@solidq.com
ETL: Logging y auditoría en SSIS
ETL: Logging y auditoría en SSIS

Más contenido relacionado

La actualidad más candente

Implementación de inteligencia de Negocios paso a paso (Business Intelligence)
Implementación de inteligencia de Negocios paso a paso (Business Intelligence)Implementación de inteligencia de Negocios paso a paso (Business Intelligence)
Implementación de inteligencia de Negocios paso a paso (Business Intelligence)DANIEL VENTURA
 
Errores comunes en simulación. Software Simul8. Por Elias Adam
Errores comunes en simulación. Software Simul8. Por Elias AdamErrores comunes en simulación. Software Simul8. Por Elias Adam
Errores comunes en simulación. Software Simul8. Por Elias AdamAngelaRivas120
 
DIGITALIZACIÓN DE DOCUMENTOS ELECTRÓNICOS
DIGITALIZACIÓN DE DOCUMENTOS ELECTRÓNICOS DIGITALIZACIÓN DE DOCUMENTOS ELECTRÓNICOS
DIGITALIZACIÓN DE DOCUMENTOS ELECTRÓNICOS UIS
 
DISEÑO DE UN SISTEMA DE INFORMACION PARA LA GESTION DE PEDIDOS DE VENTA INTEG...
DISEÑO DE UN SISTEMA DE INFORMACION PARA LA GESTION DE PEDIDOS DE VENTA INTEG...DISEÑO DE UN SISTEMA DE INFORMACION PARA LA GESTION DE PEDIDOS DE VENTA INTEG...
DISEÑO DE UN SISTEMA DE INFORMACION PARA LA GESTION DE PEDIDOS DE VENTA INTEG...Vince Adriani
 
Analisis multidimensional.pdf
Analisis multidimensional.pdfAnalisis multidimensional.pdf
Analisis multidimensional.pdfValdezTorres3
 
Deep learning aprendizaje profundo
Deep learning  aprendizaje profundoDeep learning  aprendizaje profundo
Deep learning aprendizaje profundoAlfredo Tello
 
R y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntosR y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntosPlain Concepts
 
Unidad 2 diagnóstico y análisis ivan
Unidad 2 diagnóstico y análisis ivanUnidad 2 diagnóstico y análisis ivan
Unidad 2 diagnóstico y análisis ivanGischel de Rosales
 
Control de temperatura con el plc s7 200 (4)
Control de temperatura con el plc s7 200 (4)Control de temperatura con el plc s7 200 (4)
Control de temperatura con el plc s7 200 (4)Moi Torres
 
Lessons in Linear Algebra at Scale with Apache Spark : Let's Make the Sparse ...
Lessons in Linear Algebra at Scale with Apache Spark : Let's Make the Sparse ...Lessons in Linear Algebra at Scale with Apache Spark : Let's Make the Sparse ...
Lessons in Linear Algebra at Scale with Apache Spark : Let's Make the Sparse ...Databricks
 
La investigación documental, de campo y experimental. José Ramos Flores
La investigación documental, de campo y experimental. José Ramos FloresLa investigación documental, de campo y experimental. José Ramos Flores
La investigación documental, de campo y experimental. José Ramos FloresJose Ramos Flores
 
Inteligencia de Negocios BI
Inteligencia de Negocios BIInteligencia de Negocios BI
Inteligencia de Negocios BIfabian fernandez
 
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADOAPRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADOsystemprisoners
 
Data Science in the Real World: Making a Difference
Data Science in the Real World: Making a Difference Data Science in the Real World: Making a Difference
Data Science in the Real World: Making a Difference Srinath Perera
 

La actualidad más candente (20)

Implementación de inteligencia de Negocios paso a paso (Business Intelligence)
Implementación de inteligencia de Negocios paso a paso (Business Intelligence)Implementación de inteligencia de Negocios paso a paso (Business Intelligence)
Implementación de inteligencia de Negocios paso a paso (Business Intelligence)
 
Aprendizaje no supervisado
Aprendizaje no supervisadoAprendizaje no supervisado
Aprendizaje no supervisado
 
Errores comunes en simulación. Software Simul8. Por Elias Adam
Errores comunes en simulación. Software Simul8. Por Elias AdamErrores comunes en simulación. Software Simul8. Por Elias Adam
Errores comunes en simulación. Software Simul8. Por Elias Adam
 
DIGITALIZACIÓN DE DOCUMENTOS ELECTRÓNICOS
DIGITALIZACIÓN DE DOCUMENTOS ELECTRÓNICOS DIGITALIZACIÓN DE DOCUMENTOS ELECTRÓNICOS
DIGITALIZACIÓN DE DOCUMENTOS ELECTRÓNICOS
 
DISEÑO DE UN SISTEMA DE INFORMACION PARA LA GESTION DE PEDIDOS DE VENTA INTEG...
DISEÑO DE UN SISTEMA DE INFORMACION PARA LA GESTION DE PEDIDOS DE VENTA INTEG...DISEÑO DE UN SISTEMA DE INFORMACION PARA LA GESTION DE PEDIDOS DE VENTA INTEG...
DISEÑO DE UN SISTEMA DE INFORMACION PARA LA GESTION DE PEDIDOS DE VENTA INTEG...
 
Patrones de diseño, MVC
Patrones de diseño, MVCPatrones de diseño, MVC
Patrones de diseño, MVC
 
Analisis multidimensional.pdf
Analisis multidimensional.pdfAnalisis multidimensional.pdf
Analisis multidimensional.pdf
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Deep learning aprendizaje profundo
Deep learning  aprendizaje profundoDeep learning  aprendizaje profundo
Deep learning aprendizaje profundo
 
R y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntosR y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntos
 
Unidad 2 diagnóstico y análisis ivan
Unidad 2 diagnóstico y análisis ivanUnidad 2 diagnóstico y análisis ivan
Unidad 2 diagnóstico y análisis ivan
 
BUSINESS INTELLIGENCE
BUSINESS INTELLIGENCEBUSINESS INTELLIGENCE
BUSINESS INTELLIGENCE
 
Control de temperatura con el plc s7 200 (4)
Control de temperatura con el plc s7 200 (4)Control de temperatura con el plc s7 200 (4)
Control de temperatura con el plc s7 200 (4)
 
Qué es la ciencia de datos.pdf
Qué es la ciencia de datos.pdfQué es la ciencia de datos.pdf
Qué es la ciencia de datos.pdf
 
Lessons in Linear Algebra at Scale with Apache Spark : Let's Make the Sparse ...
Lessons in Linear Algebra at Scale with Apache Spark : Let's Make the Sparse ...Lessons in Linear Algebra at Scale with Apache Spark : Let's Make the Sparse ...
Lessons in Linear Algebra at Scale with Apache Spark : Let's Make the Sparse ...
 
La investigación documental, de campo y experimental. José Ramos Flores
La investigación documental, de campo y experimental. José Ramos FloresLa investigación documental, de campo y experimental. José Ramos Flores
La investigación documental, de campo y experimental. José Ramos Flores
 
Inteligencia de Negocios BI
Inteligencia de Negocios BIInteligencia de Negocios BI
Inteligencia de Negocios BI
 
Tableau data terminology
Tableau   data terminologyTableau   data terminology
Tableau data terminology
 
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADOAPRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
APRENDIZAJE SUPERVISADO Y APRENDIZAJE NO SUPERVISADO
 
Data Science in the Real World: Making a Difference
Data Science in the Real World: Making a Difference Data Science in the Real World: Making a Difference
Data Science in the Real World: Making a Difference
 

Destacado

Variables en SSIS
Variables en SSISVariables en SSIS
Variables en SSISbrobelo
 
Cubo: creación y ejecución
Cubo: creación y ejecuciónCubo: creación y ejecución
Cubo: creación y ejecuciónjohusiro
 
Taller de Investigación en BI con MSSQL Server 2008R2/2012 SSAS
Taller de Investigación en BI con MSSQL Server 2008R2/2012 SSASTaller de Investigación en BI con MSSQL Server 2008R2/2012 SSAS
Taller de Investigación en BI con MSSQL Server 2008R2/2012 SSASLPI ONG
 
Data Warehouse Offload
Data Warehouse OffloadData Warehouse Offload
Data Warehouse OffloadJohn Berns
 
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12cEdelweiss Kammermann
 
SolidQ SSIS Framework
SolidQ SSIS FrameworkSolidQ SSIS Framework
SolidQ SSIS FrameworkSolidQ
 
1. limpieza y transformación de datos
1. limpieza y transformación de datos1. limpieza y transformación de datos
1. limpieza y transformación de datosMiguel Murillo
 
Management in Informatica Power Center
Management in Informatica Power CenterManagement in Informatica Power Center
Management in Informatica Power CenterEdureka!
 
Principios de diseño para procesos de ETL
Principios de diseño para procesos de ETLPrincipios de diseño para procesos de ETL
Principios de diseño para procesos de ETLSpanishPASSVC
 
Designing and implementing_an_etl_framework
Designing and implementing_an_etl_frameworkDesigning and implementing_an_etl_framework
Designing and implementing_an_etl_frameworkBharat Vadlamudi
 
Keeping Spark on Track: Productionizing Spark for ETL
Keeping Spark on Track: Productionizing Spark for ETLKeeping Spark on Track: Productionizing Spark for ETL
Keeping Spark on Track: Productionizing Spark for ETLDatabricks
 
Big Data Architecture
Big Data ArchitectureBig Data Architecture
Big Data ArchitectureGuido Schmutz
 

Destacado (13)

Variables en SSIS
Variables en SSISVariables en SSIS
Variables en SSIS
 
Cubo: creación y ejecución
Cubo: creación y ejecuciónCubo: creación y ejecución
Cubo: creación y ejecución
 
Taller de Investigación en BI con MSSQL Server 2008R2/2012 SSAS
Taller de Investigación en BI con MSSQL Server 2008R2/2012 SSASTaller de Investigación en BI con MSSQL Server 2008R2/2012 SSAS
Taller de Investigación en BI con MSSQL Server 2008R2/2012 SSAS
 
Data Warehouse Offload
Data Warehouse OffloadData Warehouse Offload
Data Warehouse Offload
 
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
 
SolidQ SSIS Framework
SolidQ SSIS FrameworkSolidQ SSIS Framework
SolidQ SSIS Framework
 
Webinar: Oracle Data Integrator 12c (25-02-2015)
Webinar: Oracle Data Integrator 12c (25-02-2015)Webinar: Oracle Data Integrator 12c (25-02-2015)
Webinar: Oracle Data Integrator 12c (25-02-2015)
 
1. limpieza y transformación de datos
1. limpieza y transformación de datos1. limpieza y transformación de datos
1. limpieza y transformación de datos
 
Management in Informatica Power Center
Management in Informatica Power CenterManagement in Informatica Power Center
Management in Informatica Power Center
 
Principios de diseño para procesos de ETL
Principios de diseño para procesos de ETLPrincipios de diseño para procesos de ETL
Principios de diseño para procesos de ETL
 
Designing and implementing_an_etl_framework
Designing and implementing_an_etl_frameworkDesigning and implementing_an_etl_framework
Designing and implementing_an_etl_framework
 
Keeping Spark on Track: Productionizing Spark for ETL
Keeping Spark on Track: Productionizing Spark for ETLKeeping Spark on Track: Productionizing Spark for ETL
Keeping Spark on Track: Productionizing Spark for ETL
 
Big Data Architecture
Big Data ArchitectureBig Data Architecture
Big Data Architecture
 

Similar a ETL: Logging y auditoría en SSIS

Examen ISC
Examen ISCExamen ISC
Examen ISCivan mtz
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidadjuanmanuelsalgado
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005oswchavez
 
Componentes de sql server 2008
Componentes de sql server 2008Componentes de sql server 2008
Componentes de sql server 2008Jillian Motoharu
 
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...jorgelebrato
 
0157 genexus full_throttling
0157 genexus full_throttling0157 genexus full_throttling
0157 genexus full_throttlingGeneXus
 
0157 genexus full_throttling
0157 genexus full_throttling0157 genexus full_throttling
0157 genexus full_throttlingGeneXus
 
Tutorial MIneria de datos en sql server
Tutorial  MIneria de datos en sql serverTutorial  MIneria de datos en sql server
Tutorial MIneria de datos en sql serverRis Fernandez
 
Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)SolidQ
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Enrique Catala Bañuls
 
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...SolidQ
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Eduardo Castro
 
Adaptive BI Framework
Adaptive BI Framework Adaptive BI Framework
Adaptive BI Framework SolidQ
 
Optimizacion de Modelos Multidimensionales con Analysis Services
Optimizacion de Modelos Multidimensionales con Analysis ServicesOptimizacion de Modelos Multidimensionales con Analysis Services
Optimizacion de Modelos Multidimensionales con Analysis ServicesMarco Tulio Gómez Reyes
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL ServerJohn Bulla
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developersEnrique Catala Bañuls
 

Similar a ETL: Logging y auditoría en SSIS (20)

Examen ISC
Examen ISCExamen ISC
Examen ISC
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidad
 
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
(25/02) Desarrollador@S Invita - Introducción y novedades de SQL Server 2008
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005
 
Componentes de sql server 2008
Componentes de sql server 2008Componentes de sql server 2008
Componentes de sql server 2008
 
ABI-Box
ABI-BoxABI-Box
ABI-Box
 
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de ...
 
DB1 Unidad 5: SQL Avanzado
DB1 Unidad 5: SQL AvanzadoDB1 Unidad 5: SQL Avanzado
DB1 Unidad 5: SQL Avanzado
 
0157 genexus full_throttling
0157 genexus full_throttling0157 genexus full_throttling
0157 genexus full_throttling
 
0157 genexus full_throttling
0157 genexus full_throttling0157 genexus full_throttling
0157 genexus full_throttling
 
Tutorial MIneria de datos en sql server
Tutorial  MIneria de datos en sql serverTutorial  MIneria de datos en sql server
Tutorial MIneria de datos en sql server
 
Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)Datawarehouse como servicio en Azure (sqldw)
Datawarehouse como servicio en Azure (sqldw)
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)
 
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Su...
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016
 
Adaptive BI Framework
Adaptive BI Framework Adaptive BI Framework
Adaptive BI Framework
 
Machine Learning en SQL Server
Machine Learning en SQL ServerMachine Learning en SQL Server
Machine Learning en SQL Server
 
Optimizacion de Modelos Multidimensionales con Analysis Services
Optimizacion de Modelos Multidimensionales con Analysis ServicesOptimizacion de Modelos Multidimensionales con Analysis Services
Optimizacion de Modelos Multidimensionales con Analysis Services
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 

Más de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BISolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...SolidQ
 

Más de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

ETL: Logging y auditoría en SSIS

  • 1.
  • 2. BIN-302 ETL: Logging y auditoría en SSIS Salvador Ramos Mentor – Business Intelligence SQL Server MVP, MCTS, MCITP sramos@solidq.com
  • 3. Agenda α El día a día α ¿Qué ha ocurrido? α ¿Qué auditar? α Logging, auditoría y trazabilidad del dato α Conclusiones
  • 4. El día a día α Diseño de procesos ETL α Testing α Puesta en producción α Ejecuciones periódicas
  • 5. ¿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
  • 6. ¿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 
  • 9. ¿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
  • 10. 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
  • 11. Framework propuesto Ejecución de paquetes - almacenamiento
  • 12. Framework propuesto Ejecución de paquetes – Inserción de filas CREATE 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
  • 14. Framework propuesto Errores - inserción de filas CREATE 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) COMMIT GO
  • 15. Framework propuesto Orígenes y destinos - almacenamiento
  • 16. Framework propuesto Orígenes y destinos - inserción de filas CREATE PROCEDURE [Config].[ExecutionLogSSIS_SourceDest_Insert] @ExecutionID INT , @Type TINYINT -- Origen o Destino , @SourceType TINYINT , @Description VARCHAR(MAX) , @Rows INT AS SET NOCOUNT ON; BEGIN TRAN -- INSERT SourceDest INSERT INTO Config.ExecutionLogSSIS_SourceDest (ExecutionID, [Type], SourceType, [Description], [Rows]) VALUES(@ExecutionID, @Type, @SourceType, @Description, @Rows) COMMIT GO
  • 17. Framework propuesto Historial de cambios - almacenamiento α Una tabla adicional por cada tabla a auditar
  • 18. Framework propuesto y paquete de ejemplo
  • 20. Framework propuesto Y aún hay mas … α Crear plantillas α Crear informes α Auditar variables del paquete α Control de verbosidad (verbose) β Hacerlo dinámico
  • 21. Conclusiones ¿Qué ha ocurrido? α Logging, auditoría y trazabilidad del dato
  • 22.
  • 23.  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
  • 24. Salvador Ramos Mentor – Business Intelligence SQL Server MVP, MCTS, MCITP sramos@solidq.com