Program aracılığıyla günlüğü etkinleştirme
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.Tek bir kapsayıcı veya tüm paket günlüğe kaydedilmesi işlevi etkindir.
Kullanmak bir kapsayıcı için kullanılabilir günlük sağlayıcıları çeşitli türleri vardır.Bu, oluşturmak ve birçok biçimlerinde günlük bilgilerini depolamak için esneklik sağlar.Bir kapsayıcı nesnesinde günlüğe kaydetme iki adımdan oluşan bir işlemdir: ilk oturum etkin ve daha sonra günlük sağlayıcısı seçili. The LoggingOptions() and LoggingMode() properties of the kapsayıcı are used to specify the logged events and to select the günlük sağlayıcısı.
Günlüğü etkinleştirme
The LoggingMode() özellik, found in each kapsayıcı that can perform logging, determines whether the kapsayıcı's olay information is recorded to the olay log. Bu özellik arasında bir değer atanmış DTSLoggingMode Yapı ve varsayılan olarak kapsayıcı's üst nesneden devralınmış. kapsayıcı paket ve bu nedenle hiçbir üst özellik kullanır UseParentSetting(), varsayılan, Disabled.
günlük sağlayıcısı seçme
Sonra LoggingMode() özellik ayarlamak Enabled, bir günlük sağlayıcısı eklenen SelectedLogProviders koleksiyon işlemi tamamlamak için kapsayıcının. The SelectedLogProviders koleksiyon is available on the LoggingOptions object, and contains the log providers selected for the kapsayıcı. The Add(LogProvider) yöntem is called to create a sağlayıcı and add it to the koleksiyon. Yöntem sonra derlemeye eklenmiş olan günlük sağlayıcısı döndürür.Her sağlayıcı, sağlayıcıya özgü yapılandırma ayarları vardır ve bu özellikleri kullanarak ayarlamak ConfigString() özellik.
Varolan günlük sağlayıcıları, bunların açıklaması için aşağıdaki tabloda listelenmiştir ve bunların ConfigString() bilgileri.
Sağlayıcı |
Açıklama |
YapılandırmaDizesi özellik |
---|---|---|
SQL Server Profiler |
Yakalanan ve içinde görüntülenen SQL izlemeler oluşturur. SQL Server Profil oluşturucu. Bu sağlayıcı için varsayılan dosya adı uzantısı trc ' dir. |
Yapılandırma gerekmez. |
SQL Server |
Olay günlüğü girdilerine için yazar sysssislog herhangi bir tabloSQL Server Veritabanı. |
SQL Server Sağlayıcı veritabanı bağlantısı'nın belirtilmesini gerektirir ve bu da hedef veritabanı adı. |
Metin dosyası |
Olay günlüğü girdilerine, virgülle ayrılmış değerler (CSV) biçiminde bir ASCII metin dosyalarına yazar.Bu sağlayıcı için varsayılan dosya adı uzantısı. günlük. |
Bir Dosya Bağlantı Yöneticisi'nin adı. |
Windows Olay günlüğü |
Günlükler için standart Windows Olay günlüğü yerel bilgisayardaki uygulama günlüğe yazılır. |
Yapılandırma gerekmez. |
XML dosyası |
Olay günlüğü girdilerine biçimlendirilmiş XML dosyasına yazar.Bu sağlayıcı için varsayılan dosya adı uzantısı .xml olur. |
Bir Dosya Bağlantı Yöneticisi'nin adı. |
Olayları yer veya olay günlüğünden ayarlayarak dışlanan EventFilterKind ve EventFilter kapsayıcının özellikleri. The EventFilterKind structure contains two values, ExclusionFilter and InclusionFilter, that indicate whether the events that are added to the EventFilter are included in the olay log. The EventFilter özellik is then assigned a dize array that contains the names of the events that are the subject of the filtering.
Aşağıdaki kodu bir paket oturum sağlar, metin dosyaları için ilgili Günlük sağlayıcı ekler SelectedLogProviders koleksiyon ve günlük çıktıda dahil etmek için olaylar listesini belirtir.
Örnek
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
|