Habilitar el registro mediante programación

Se aplica a:SQL Server SSIS Integration Runtime en Azure Data Factory

El motor en tiempo de ejecución proporciona una colección de objetos LogProvider que permiten capturar información específica del evento durante la validación y ejecución de paquetes. Los objetos LogProvider están disponibles para los objetos DtsContainer, incluidos los objetos TaskHost, Package, ForLoop y ForEachLoop. El registro se habilita en contenedores individuales o en el paquete completo.

Existen diferentes tipos de proveedores de registro disponibles para que los utilice un contenedor. Esto proporciona la flexibilidad necesaria para crear y almacenar información del registro en distintos formatos. Dar de alta un objeto contenedor en el registro es un proceso de dos pasos: en primer lugar se habilita el registro y, a continuación, se selecciona un proveedor de registro. Las propiedades LoggingOptions y LoggingMode del contenedor se utilizan para especificar los eventos registrados y seleccionar el proveedor de registro.

Habilitar el registro

La propiedad LoggingMode, incluida en cada contenedor que puede realizar el registro, determina si la información de evento del contenedor se registra en el registro de eventos. El valor de esta propiedad se asigna desde la estructura DTSLoggingMode y se hereda de forma predeterminada del elemento primario del contenedor. Si el contenedor es un paquete y, por tanto, no dispone de elemento primario, la propiedad utiliza UseParentSetting, que tiene como valor predeterminado Deshabilitado.

Seleccionar un proveedor de registro

Una vez establecida la propiedad LoggingMode en Habilitado, se agrega un proveedor de registro a la colección SelectedLogProviders del contenedor para completar el proceso. La colección SelectedLogProviders está disponible en el objeto LoggingOptions y contiene los proveedores de registro seleccionados para el contenedor. Se llama al método Add para crear un proveedor y agregarlo a la colección. El método devuelve el proveedor de registro que se agregó a la colección. Cada proveedor incluye configuración única para dicho proveedor; estas propiedades se establecen mediante la propiedad ConfigString.

En la tabla siguiente se enumeran los proveedores de registro disponibles, su descripción y su información ConfigString.

Proveedor Descripción Propiedad ConfigString
SQL Server Profiler Genera seguimientos de SQL que se pueden capturar y ver en SQL Server Profiler. La extensión predeterminada de los nombres de archivo de este proveedor es .trc. No se requiere ninguna configuración.
SQL Server Escribe las entradas del registro de eventos en la tabla sysssislog de cualquier base de datos de SQL Server. El proveedor SQL Server requiere que se especifique la conexión a la base de datos, así como el nombre de la base de datos de destino.
Archivo de texto Escribe las entradas de registro de eventos en archivos de texto ASCII con un formato de valores separados por comas (CSV). La extensión predeterminada de los nombres de archivo de este proveedor es .log. El nombre de un administrador de conexión de archivos.
Registro de eventos de Windows Escribe las entradas en el registro de eventos estándar de Windows en el equipo local, en el registro de aplicaciones. No se requiere ninguna configuración.
Archivo XML Escribe las entradas del registro de eventos en archivos con formato XML. La extensión predeterminada de los nombres de archivo de este proveedor es .xml. El nombre de un administrador de conexión de archivos.

Los eventos se incluyen en el registro de eventos o se excluyen del mismo mediante las propiedades EventFilterKind y EventFilter del contenedor. La estructura EventFilterKind contiene dos valores, ExclusionFilter y InclusionFilter, que indican si los eventos que se agregan a EventFilter se incluyen en el registro de eventos. A continuación, se asigna una matriz de cadenas que contiene los nombres de los eventos sujetos del filtrado a la propiedad EventFilter.

El código siguiente habilita el registro en un paquete, agrega el proveedor de registro para archivos de texto a la colección SelectedLogProviders y especifica una lista de eventos para incluir en la salida del registro.

Ejemplo

using System;  
using Microsoft.SqlServer.Dts.Runtime;  
  
namespace Microsoft.SqlServer.Dts.Samples  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  
      Package p = new Package();  
  
      ConnectionManager loggingConnection = p.Connections.Add("FILE");  
      loggingConnection.ConnectionString = @"C:\SSISPackageLog.txt";  
  
      LogProvider provider = p.LogProviders.Add("DTS.LogProviderTextFile.2");  
      provider.ConfigString = loggingConnection.Name;  
      p.LoggingOptions.SelectedLogProviders.Add(provider);  
      p.LoggingOptions.EventFilterKind = DTSEventFilterKind.Inclusion;  
      p.LoggingOptions.EventFilter = new String[] { "OnPreExecute",   
         "OnPostExecute", "OnError", "OnWarning", "OnInformation" };  
      p.LoggingMode = DTSLoggingMode.Enabled;  
  
      // Add tasks and other objects to the package.  
  
    }  
  }  
}  
Imports Microsoft.SqlServer.Dts.Runtime  
  
Module Module1  
  
  Sub Main()  
  
    Dim p As Package = New Package()  
  
    Dim loggingConnection As ConnectionManager = p.Connections.Add("FILE")  
    loggingConnection.ConnectionString = "C:\SSISPackageLog.txt"  
  
    Dim provider As LogProvider = p.LogProviders.Add("DTS.LogProviderTextFile.2")  
    provider.ConfigString = loggingConnection.Name  
    p.LoggingOptions.SelectedLogProviders.Add(provider)  
    p.LoggingOptions.EventFilterKind = DTSEventFilterKind.Inclusion  
    p.LoggingOptions.EventFilter = New String() {"OnPreExecute", _  
       "OnPostExecute", "OnError", "OnWarning", "OnInformation"}  
    p.LoggingMode = DTSLoggingMode.Enabled  
  
    ' Add tasks and other objects to the package.  
  
  End Sub  
  
End Module  

Consulte también

Registro de Integration Services (SSIS)