Udostępnij za pośrednictwem


Włączanie rejestrowania programowo

The run-time engine provides a collection of LogProvider objects that enable event-specific information to be captured during package validation and execution.LogProvider objects are available to DtsContainer objects, including the TaskHost, Package, ForLoop, and ForEachLoop objects.Indywidualne pojemniki lub cały pakiet jest włączone rejestrowanie.

Istnieje kilka typów dziennika dostawców, którzy są dostępni dla kontener do używania.Zapewnia elastyczność tworzenia i przechowywania informacji dziennika w wielu formatach.Rejestrowanie obiekt kontener podczas rejestrowania jest procesem dwuetapowym: najpierw rejestrowanie jest włączone, a następnie wybrano dostawca dziennika.LoggingOptions i LoggingMode Właściwości kontener są używane do określania zarejestrowane zdarzenia i wybierz dostawca dziennika.

Włączanie rejestrowania

LoggingMode Właściwość znalezione w każdym kontenerze, które może wykonać rejestrowania, określa, czy kontener zdarzenie informacje są zapisywane do zdarzenie możnaWłaściwość ta jest przypisywana wartość z DTSLoggingMode struktury i jest dziedziczone z nadrzędnego kontener domyślnieJeśli kontener jest pakiet i dlatego nie ma obiektu nadrzędnego, korzysta z właściwość UseParentSetting, które domyślnie Disabled.

Wybieranie dostawcy dziennika

Po LoggingMode właściwość jest zestaw do Enabled, dostawca dziennika jest dodawany do SelectedLogProviders kolekcja kontener do ukończenia procesu.SelectedLogProviders kolekcja jest dostępny na LoggingOptions obiektów i zawiera włączeni wybranego kontener.Add Wywoływana jest metoda utworzyć dostawca i dodać go do kolekcja.Następnie metoda zwróci dostawca dziennika, który został dodany do kolekcja.Każdy dostawca ma konfigurację zestawtings, które są unikatowe dla tego dostawcy i te właściwość są zestaw za pomocą ConfigString właściwość.

Następująca tabela zawiera listę dostępnych dostawców, ich opis i ich ConfigString informacji.

Dostawca

Opis

Właściwość Ciąg_konfiguracji

SQL Server Profiler

Generuje śladów SQL, które przechwycone i wyświetlać w SQL Server Profiler.Domyślne rozszerzenie nazwy pliku dla tego dostawca jest TRC.

Konfiguracja nie jest wymagane.

SQL Server

Zapisuje zdarzenie zapisy do dziennika sysssislog tabela w dowolnym SQL Server bazy danych.

SQL Server Dostawca wymaga określenia połączenia z bazą danych, a także nazwa bazy danych miejsce docelowe.

Plik tekstowy

Zapisuje zdarzenie rejestrowania wpisów w plikach tekstowych ASCII w formacie wartości rozdzielanych przecinkami (CSV).To domyślne rozszerzenie nazwy pliku dla tego dostawca. dziennika.

Nazwa menedżer połączeń do pliku.

Dziennik zdarzeń systemu Windows

Rejestrowanie dzienniki do standardowego dziennika zdarzeń systemu Windows na komputerze lokalnym w aplikacji.

Konfiguracja nie jest wymagane.

Plik XML

Zapisuje zdarzenie pliku w formacie wpisów dziennika do pliku XML.XML jest domyślne rozszerzenie nazwy pliku dla tego dostawca.

Nazwa menedżer połączeń do pliku.

zdarzenie są włączone lub wyłączone z dziennika zdarzeń, ustawiając EventFilterKind i EventFilter Właściwości kontener.EventFilterKind Struktura zawiera dwie wartości, ExclusionFilter i InclusionFilter, który wskazuje, czy zdarzenie są dodawane do EventFilter znajdują się zdarzeń możnaEventFilter Przypisywana właściwość ciąg tablicy, która zawiera nazwy zdarzenia, które są przedmiotem filtrowania.

Poniższy kod umożliwia rejestrowanie pakiet, dodaje dostawca dziennika dla plików tekstowych do SelectedLogProviders kolekcja i określa listę zdarzeń, które mają zostać uwzględnione w danych wyjściowych rejestrowania.

Przykład

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
Ikona usług Integration Services (mała)Bieżąco z usług integracji

Najnowsze pliki do pobrania, artykuły, próbki i wideo firmy Microsoft, jak również wybranych rozwiązań ze Wspólnoty, odwiedź witrynę Integration Services strona na MSDN i TechNet:

Aby otrzymywać automatyczne powiadomienia dotyczące tych aktualizacji, zasubskrybuj źródła danych RSS dostępne na tej stronie.