Språk
Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
SSIS Integration Runtime i Azure Data Factory
Körtidsmotorn tillhandahåller en samling LogProvider objekt som möjliggör att händelsespecifik information kan fångas under paketvalidering och exekvering. LogProvider objekt är tillgängliga för DtsContainer objekt, inklusive TaskHost, Package, ForLoop, och ForEachLoop objekt. Loggning är aktiverad på enskilda containrar eller på hela paketet.
Det finns flera typer av loggleverantörer som finns tillgängliga för en container att använda. Detta ger flexibilitet att skapa och lagra logginformation i många format. Att använda ett containerobjekt i loggning är en tvåstegsprocess: först aktiveras loggning och sedan väljs en loggleverantör. Och LoggingOptionsLoggingMode egenskaperna för containern används för att specificera de loggade händelserna och för att välja loggleverantören.
Aktivering av loggning
Egenskapen LoggingMode som finns i varje container och kan utföra loggning avgör om containerns händelseinformation registreras i händelseloggen. Denna egenskap tilldelas ett värde från DTSLoggingMode strukturen och ärvs som standard från containerns förälder. Om behållaren är ett paket och därför saknar förälder, använder UseParentSettingegenskapen , som som standard är inaktiverad.
Val av en loggleverantör
Efter att egenskapen LoggingMode satts till Aktiverad läggs en loggleverantör till SelectedLogProviders i containerns samling för att slutföra processen. Samlingen SelectedLogProviders är tillgänglig på objektet LoggingOptions och innehåller de loggleverantörer som valts för containern. Metoden Add kallas för att skapa en leverantör och lägga till den i samlingen. Metoden returnerar sedan loggleverantören som lades till i samlingen. Varje leverantör har konfigurationsinställningar som är unika för den leverantören, och dessa egenskaper sätts med egenskapen ConfigString .
Följande tabell listar tillgängliga loggleverantörer, deras beskrivning och deras ConfigString information.
| Provider | Description | ConfigString-egenskapen |
|---|---|---|
| SQL Server Profiler | Genererar SQL-spår som kan fångas in och visas i SQL Server Profiler. Standardfilnamnstillägget för den här providern är .trc. | Ingen konfiguration krävs. |
| SQL Server | Skriver händelseloggposter till sysssislog-tabellen i vilken SQL Server-databas som helst. | SQL Server-leverantören kräver att anslutningen till databasen specificeras, samt måldatabasens namn. |
| Textfil | Skriver händelseloggposter till ASCII-textfiler i ett kommaseparerat värdeformat (CSV). Standardfilnamnstillägget för den här providern är .log. | Namnet på en filanslutningshanterare. |
| Windows-händelselogg | Loggar till standard Windows Event Log på den lokala datorn i applikationsloggen. | Ingen konfiguration krävs. |
| XML-fil | Skriver händelseloggposter till XML-formaterad fil. Standardfilnamnsändelsen för denna leverantör är .xml | Namnet på en filanslutningshanterare. |
Händelser inkluderas i eller exkluderas från händelseloggen genom att sätta egenskaperna EventFilterKind och EventFilter för containern. Strukturen EventFilterKind innehåller två värden, ExclusionFilter och InclusionFilter, som anger om de händelser som läggs till i EventFilter ingår i händelseloggen. EventFilter-egenskapen tilldelas sedan en strängarray som innehåller namnen på de händelser som är föremål för filtreringen.
Följande kod möjliggör loggning på ett paket, lägger till loggleverantören för textfiler i samlingen SelectedLogProviders och specificerar en lista över händelser som ska inkluderas i loggningsutdatan.
Sample
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