26

Click here to load reader

ETL: Logging y auditoría en SSIS

  • Upload
    solidq

  • View
    926

  • Download
    13

Embed Size (px)

DESCRIPTION

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?

Citation preview

Page 1: ETL: Logging y auditoría en SSIS
Page 2: ETL: Logging y auditoría en SSIS

ETL: Logging y auditoría en SSIS

Salvador Ramos

BIN-302

Mentor – Business Intelligence SQL Server MVP, MCTS, MCITP

[email protected]

Page 3: ETL: Logging y auditoría en SSIS

α El día a día

α ¿Qué ha ocurrido?

α ¿Qué auditar?

α Logging, auditoría y trazabilidad del dato

α Conclusiones

Agenda

Page 4: ETL: Logging y auditoría en SSIS

α Diseño de procesos ETL

α Testing

α Puesta en producción

α Ejecuciones periódicas

El día a día

Page 5: ETL: Logging y auditoría en SSIS

α 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? Error de ejecución del paquete

Page 6: ETL: Logging y auditoría en SSIS

α 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? Los datos no cuadran

Page 7: ETL: Logging y auditoría en SSIS

¿Qué ha ocurrido? Tenemos un problema

Page 8: ETL: Logging y auditoría en SSIS

¿Qué ha ocurrido? Tenemos un problema

Page 9: ETL: Logging y auditoría en SSIS

α 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

¿Hay solución?

Page 10: ETL: Logging y auditoría en SSIS

α 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 ¿Qué vamos a auditar?

Page 11: ETL: Logging y auditoría en SSIS

Framework propuesto Ejecución de paquetes - almacenamiento

Page 12: ETL: Logging y auditoría en SSIS

Framework propuesto

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

AS

Ejecución de paquetes – Inserción de filas

Page 13: ETL: Logging y auditoría en SSIS

Framework propuesto Errores - almacenamiento

Page 14: ETL: Logging y auditoría en SSIS

Framework propuesto

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

Errores - inserción de filas

Page 15: ETL: Logging y auditoría en SSIS

Framework propuesto Orígenes y destinos - almacenamiento

Page 16: ETL: Logging y auditoría en SSIS

Framework propuesto

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

Orígenes y destinos - inserción de filas

Page 17: ETL: Logging y auditoría en SSIS

α Una tabla adicional por cada tabla a auditar

Framework propuesto Historial de cambios - almacenamiento

Page 18: ETL: Logging y auditoría en SSIS

Framework propuesto y paquete de ejemplo

Page 19: ETL: Logging y auditoría en SSIS

Framework propuesto Almacenamiento

Page 20: ETL: Logging y auditoría en SSIS

α Crear plantillas

α Crear informes

α Auditar variables del paquete

α Control de verbosidad (verbose) β Hacerlo dinámico

Framework propuesto Y aún hay mas …

Page 21: ETL: Logging y auditoría en SSIS

α Logging, auditoría y trazabilidad del dato

Conclusiones ¿Qué ha ocurrido?

Page 22: ETL: Logging y auditoría en SSIS
Page 23: ETL: Logging y auditoría en SSIS

No olvideis rellenar las evaluaciones en el Portal

del Summit!

Nos encontrareis en la zona de exposición en los

siguientes horarios

Salvador Ramos

SQL Server MVP, MCTS, MCITP

α El miércoles por la tarde a la hora del café

α En cualquier descanso

[email protected]

Mentor – Business Intelligence

Page 24: ETL: Logging y auditoría en SSIS

Salvador Ramos

SQL Server MVP, MCTS, MCITP

[email protected]

Mentor – Business Intelligence

Page 25: ETL: Logging y auditoría en SSIS