Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Środowisko SSIS Integration Runtime w usłudze Azure Data Factory
Wykorzystanie logowania w pakietach Integration Services pozwala rejestrować szczegółowe informacje o postępach wykonywania, wynikach i problemach poprzez rejestrowanie predefiniowanych zdarzeń lub komunikatów zdefiniowanych przez użytkownika do późniejszej analizy. Zadanie skryptowe może wykorzystywać metodę Log obiektu DTS do logowania danych zdefiniowanych przez użytkownika. Jeśli logowanie jest włączone, a zdarzenie ScriptTaskLogEntry jest wybrane do logowania na zakładce Szczegóły w oknie dialogowym Configure SSIS Logs , jedno wywołanie Log metody przechowuje informacje o zdarzeniu we wszystkich dostawcach logów skonfigurowanych dla danego zadania.
Note
Chociaż możesz logować bezpośrednio ze swojego zadania skryptowego, warto rozważyć implementację zdarzeń zamiast logowania. Korzystając z zdarzeń, nie tylko można włączyć logowanie komunikatów zdarzeń, ale także odpowiadać na nie za pomocą domyślnych lub zdefiniowanych przez użytkownika obsługiwaczy zdarzeń.
Więcej informacji o logowaniu można znaleźć w artykule Integration Services (SSIS) Logging.
Przykład logowania
Poniższy przykład pokazuje logowanie z zadania skryptu poprzez logowanie wartości reprezentującej liczbę przetworzonych wierszy.
Public Sub Main()
Dim rowsProcessed As Integer = 100
Dim emptyBytes(0) As Byte
Try
Dts.Log("Rows processed: " & rowsProcessed.ToString, _
0, _
emptyBytes)
Dts.TaskResult = ScriptResults.Success
Catch ex As Exception
'An error occurred.
Dts.Events.FireError(0, "Script Task Example", _
ex.Message & ControlChars.CrLf & ex.StackTrace, _
String.Empty, 0)
Dts.TaskResult = ScriptResults.Failure
End Try
End Sub
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
public class ScriptMain
{
public void Main()
{
//
int rowsProcessed = 100;
byte[] emptyBytes = new byte[0];
try
{
Dts.Log("Rows processed: " + rowsProcessed.ToString(), 0, emptyBytes);
Dts.TaskResult = (int)ScriptResults.Success;
}
catch (Exception ex)
{
//An error occurred.
Dts.Events.FireError(0, "Script Task Example", ex.Message + "\r" + ex.StackTrace, String.Empty, 0);
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
}