Auditando ejecucion de paquetes de ssis

Preview:

DESCRIPTION

Auditando la ejecución de paquetes de Integration Services ¿Qué ha ocurrido durante la ejecución de un paquete de Integration Services? Todos nos hemos encontrado en la situación de llegar una mañana y encontrarnos que ha fallado la ejecución de un paquete de SSIS. Si quieres disminuir tu stress ante estas situaciones, aprender a realizar un framework que te permita auditar lo que ha ocurrido durante la ejecución, o te pierdas este webcast

Citation preview

Visite nuestra página web para estar informado de novedades, servicios y nuestros cursos

http://www.solidq.com/ib-es/Pages/Home.aspx

Visite nuestro portal de demos y pida su demo personalizada de forma GRATUITA

http://www.solidq.com/ib-es/servicios/demos/Pages/Home.aspx

Descubra nuestros cursos online sobre SQL Server, SharePoint y Cloud Services

http://www.solidq.com/squ/Pages/Home.aspx?language=spanish

Salvador Ramos Mentor – Business Intelligence SQL Server MVP

webmaster@helpdna.net

El día a día

¿Qué ha ocurrido?

¿Qué auditar?

Logging, auditoría y trazabilidad del dato

Conclusiones

Diseño de procesos ETL

Testing

Puesta en producción

Ejecuciones periódicas

Diseño de procesos ETL

Testing

Puesta en producción

Ejecuciones periódicas

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

Error de ejecución del paquete

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

Los datos no cuadran

Tenemos un problema

Tenemos un problema

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

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

¿Qué vamos a auditar?

Ejecución de paquetes - almacenamiento

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

Errores - almacenamiento

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

Orígenes y destinos - almacenamiento

CREATE PROCEDURE

[Config].[ExecutionLogSSIS_SourceDest_Insert]

@ExecutionID INT

, @Type TINYINT -- 1-Source/2-Dest/3-Pipeline

, @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

Una tabla adicional por cada tabla a auditar

Historial de cambios - almacenamiento

Framework propuesto y paquete de ejemplo

Almacenamiento

Crear plantillas

Crear informes

Auditar variables del paquete

Control de verbosidad (verbose) Hacerlo dinámico

Y aún hay más …

Logging, auditoría y trazabilidad del dato

¿Qué ha ocurrido?

http://SQLServerSi.com

http://CursoSQLServer.com

http://youtube.com/sqlserversi

http://blogs.solidq.com/BICorner

https://mvp.support.microsoft.com/profile/salvador

http://twitter.com/salvador_ramos

http://www.linkedin.com/in/SalvadorRamos

https://www.xing.com/profile/Salvador_Ramos

http://facebook.com/SQLServerSi

webmaster@helpdna.net

Visite nuestra página web para estar informado de novedades, servicios y nuestros cursos

http://www.solidq.com/ib-es/Pages/Home.aspx

Visite nuestro portal de demos y pida su demo personalizada de forma GRATUITA

http://www.solidq.com/ib-es/servicios/demos/Pages/Home.aspx

Descubra nuestros cursos online sobre SQL Server, SharePoint y Cloud Services

http://www.solidq.com/squ/Pages/Home.aspx?language=spanish

Salvador Ramos Mentor - Business Intelligence

SQL Server MVP

webmaster@helpdna.net