2011-04-24 20 views
7

Estoy trabajando en SQL 2008 - Paquete SSIS. Estoy ejecutando el paquete desde el código C#. Es simple archivo plano (.csv) a tabla SQL.¿Cómo crear un registro de errores o un registro de errores personalizado dentro de un paquete de SSIS?

Desde el código C#, obtengo el resultado de la ejecución como SUCCESS pero dentro del paquete no se han realizado las transacciones, por lo que los valores no se exportan realmente.

Necesito depurarlo, leyendo el archivo de registro.

Cómo crear un registro de errores o un archivo de registro dentro del paquete?

Respuesta

2

Es muy fácil registrar errores en SSIS. Vaya a la pestaña Gestores de eventos, seleccione OnError del menú desplegable. Ahora aquí puede enviar un correo electrónico sobre cualquier error o puede desarrollar su propia lógica personalizada para registrar el error en DB o escribir en un archivo de texto.

Además, puede elegir entre el mecanismo de registro existente disponible en SSIS. Haga clic en el menú "SSIS", verá la primera opción como Registro y verá diferentes opciones para registrar errores/advertencias y mucha información que necesita.

20

Aquí hay una forma de configurar la función de registro en SSIS. En este ejemplo, tengo la tarea Enviar correo configurada para fallar y he habilitado el registro basado en SQL Server que almacenará los mensajes OnError y OnTaskFailed cuando el paquete falla. También hay otros eventos que podrían ser de su interés. En los proyectos en los que he trabajado, estas dos tareas me han ayudado a identificar la mayoría de los problemas que ocurren en los paquetes de SSIS.

proceso paso a paso:

  1. paquete SSIS en este ejemplo contiene una tarea Enviar correo configurado como se muestra en la captura de pantalla # . Está configurado para fallar, por lo que podemos ver algunos mensajes de error en la tabla de registro.
  2. Haga clic en el paquete SSIS.
  3. En los menús, seleccione SSIS -> Registro ... Consulte la captura de pantalla n.º .
  4. En el diálogo Configurar registros de SSIS :, seleccione el tipo de proveedor y haga clic en Agregar. Elegí SQL Server para este ejemplo. Marque la casilla Name y proporcione la fuente de datos bajo la columna Configuration. Aquí SQLServer es el nombre del administrador de conexión. SSIS creará una tabla llamada dbo.sysssislog y almacenará el procedimiento dbo.sp_ssis_addlogentry en la base de datos que seleccionó. Consulte la captura de pantalla # a continuación.
  5. Si necesita capturar los errores, seleccione la casilla de verificación OnError y OnTaskFailed. Consulte la captura de pantalla # a continuación.
  6. La ejecución del paquete de muestra dentro de la tarea de flujo de datos se muestra en la captura de pantalla # a continuación.
  7. Muestra de salida de la tabla de registro dbo.sysssislog se muestra en la captura de pantalla # a continuación. Solo he mostrado algunas columnas id, event, source y message. Hay otras columnas en la tabla. La columna de mensaje contiene el mensaje de error, aquí en este caso, el nombre del servidor mencionado en la tarea Enviar correo es incorrecto.La columna de origen contiene la tarea donde falló. Aquí, en este caso, el nombre del paquete es SSISLoggingExample y Send Mail Task se llama Email Task. Los mensajes de error brotarán de la tarea al nivel del paquete. Por lo tanto, el mensaje de error se registra dos veces debajo de la tarea, así como a nivel del paquete.

Espero que ayude.

Captura de pantalla # 1:

1

Captura de pantalla # 2:

2

Captura de pantalla # 3:

3

Captura de pantalla # 4:

4

Captura de pantalla # 5:

5

Captura de pantalla # 6:

6

Cuestiones relacionadas