ETL: Logging y auditoría en SSIS
Click here to load reader
description
Transcript of ETL: Logging y auditoría en SSIS
![Page 1: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/1.jpg)
![Page 2: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/2.jpg)
ETL: Logging y auditoría en SSIS
Salvador Ramos
BIN-302
Mentor – Business Intelligence SQL Server MVP, MCTS, MCITP
![Page 3: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/3.jpg)
α 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](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/4.jpg)
α 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](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/5.jpg)
α 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](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/6.jpg)
α 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](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/7.jpg)
¿Qué ha ocurrido? Tenemos un problema
![Page 8: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/8.jpg)
¿Qué ha ocurrido? Tenemos un problema
![Page 9: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/9.jpg)
α 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](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/10.jpg)
α 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](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/11.jpg)
Framework propuesto Ejecución de paquetes - almacenamiento
![Page 12: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/12.jpg)
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](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/13.jpg)
Framework propuesto Errores - almacenamiento
![Page 14: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/14.jpg)
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](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/15.jpg)
Framework propuesto Orígenes y destinos - almacenamiento
![Page 16: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/16.jpg)
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](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/17.jpg)
α Una tabla adicional por cada tabla a auditar
Framework propuesto Historial de cambios - almacenamiento
![Page 18: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/18.jpg)
Framework propuesto y paquete de ejemplo
![Page 19: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/19.jpg)
Framework propuesto Almacenamiento
![Page 20: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/20.jpg)
α 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](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/21.jpg)
α Logging, auditoría y trazabilidad del dato
Conclusiones ¿Qué ha ocurrido?
![Page 22: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/22.jpg)
![Page 23: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/23.jpg)
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
Mentor – Business Intelligence
![Page 25: ETL: Logging y auditoría en SSIS](https://reader037.fdocument.pub/reader037/viewer/2022102420/559259b01a28ab6a418b46ab/html5/thumbnails/25.jpg)