Betik Görevinde Kayıt Tutma

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı

Entegrasyon Hizmetleri paketlerine giriş yapma kullanımı, önceden tanımlanmış olaylar veya kullanıcı tanımlı mesajlar kaydederek yürütme ilerlemesi, sonuçlar ve sorunlar hakkında ayrıntılı bilgileri kaydetmenizi sağlar. Script görevi Log , kullanıcı tanımlı verileri kaydetmek için Dts nesnesinin yöntemini kullanabilir. Eğer kayıt etkinse ve ScriptTaskLogEntry olayı SSIS Logs'u Düzenle diyalog kutusunun Detaylar sekmesinde oturum için seçilmişse, metoda yapılan tek bir çağrı Log olay bilgisini görev için yapılandırılmış tüm log sağlayıcılarında saklar.

Note

Log'u doğrudan Script görevinizden gerçekleştirebilseniz de, kayıt yerine olayları uygulamayı düşünebilirsiniz. Olaylar kullanılırken, sadece etkinlik mesajlarının kaydedilmesini etkinleştirmekle kalmaz, aynı zamanda olaya varsayılan veya kullanıcı tanımlı olay yöneticileriyle yanıt verebilirsiniz.

Loglama hakkında daha fazla bilgi için Entegrasyon Hizmetleri (SSIS) Loging'e bakınız.

Kayıt Örneği

Aşağıdaki örnek, Script görevinden işlem gören satır sayısını temsil eden bir değeri kaydederek loglamayı göstermektedir.

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;  
            }  
  
        }  

}