Freigeben über


Skripttask

Der Skripttask stellt Code zum Ausführen von Funktionen bereit, die in den integrierten Tasks und Transformationen von SQL ServerIntegration Services nicht verfügbar sind. Der Skripttask kann auch Funktionen in einem einzigen Skript zusammenfassen, statt mehrere Tasks und Transformationen zu verwenden. Sie verwenden den Skripttask für einmalige Aktionen in einem Paket (einmalig pro aufgezähltem Objekt), anstatt diese einmalig pro Datenzeile auszuführen.

Der Skripttask kann für folgende Zwecke verwendet werden:

  • Zugreifen auf Daten mithilfe anderer Technologien, die nicht von integrierten Verbindungstypen unterstützt werden. Beispielsweise kann ein Skript mithilfe von Active Directory Service Interfaces (ADSI) auf Benutzernamen von Active Directory zugreifen und diese extrahieren.

  • Erstellen eines paketspezifischen Leistungsindikators. Beispielsweise kann ein Skript einen Leistungsindikator erstellen, der aktualisiert wird, während ein komplexer Task oder ein Task mit einem geringen Leistungsverhalten ausgeführt wird.

  • Identifizieren, ob angegebene Dateien leer sind bzw. wie viele Zeilen sie enthalten, und deren Auswirkungen auf die Ablaufsteuerung in einem Paket auf Basis dieser Informationen. Enthält eine Datei beispielsweise 0 Zeilen, wird der Wert einer Variablen auf 0 festgelegt, und eine Rangfolgeneinschränkung, die den Wert auswertet, verhindert das Kopieren der Datei mit einem Dateisystemtask.

Wenn Sie das Skript verwenden müssen, um die gleichen Aktionen für jede Datenzeile einer Gruppe auszuführen, verwenden Sie anstelle des Skripttasks die Skriptkomponente. Eine Skriptkomponente wird beispielsweise verwendet, wenn Sie auswerten möchten, ob eine Portogebühr und das Auslassen von Datenzeilen mit extrem hohen oder niedrigen Beträgen angemessen sind. Weitere Informationen finden Sie unter Skriptkomponente.

Falls ein Skript von mehreren Paketen verwendet wird, sollten Sie einen benutzerdefinierten Task erstellen, statt den Skripttask zu verwenden. Weitere Informationen finden Sie unter Entwickeln eines benutzerdefinierten Tasks.

Nachdem Sie entschieden haben, dass die Skriptkomponente für Ihr Paket geeignet ist, müssen Sie das Skript entwickeln, das vom Task verwendet wird, und den Task konfigurieren.

Erstellen und Ausführen des Skripts, das vom Task verwendet wird

Der Skripttask verwendet MicrosoftVisual Studio-Tools für Anwendungen (VSTA) als Umgebung zum Erstellen der Skripts und des Moduls, mit dem die Skripts ausgeführt werden.

VSTA enthält alle Standardfeatures der Visual Studio-Umgebung, z. B. den Visual Studio-Editor mit Farbcodierung, IntelliSense und den Objekt-Explorer. VSTA verwendet zudem den Debugger, der auch von anderen Microsoft-Entwicklungstools verwendet wird. Haltepunkte im Skript sind vollständig mit Haltepunkten in Tasks und Containern von Integration Services kompatibel. VSTA unterstützt die Programmiersprachen MicrosoftVisual Basic 2008 und MicrosoftVisual C# 2008.

Zum Ausführen eines Skripts muss VSTA auf dem Computer installiert sein, auf dem das Paket ausgeführt wird. Wenn das Paket ausgeführt wird, lädt der Task das Skriptmodul und führt das Skript aus. Sie können auf externe .NET-Assemblys zugreifen, indem Sie Verweise auf die Assemblys im Projekt hinzufügen.

HinweisHinweis

Anders als in früheren Versionen, in denen Sie angeben konnten, ob die Skripts vorkompiliert sind, werden in SQL Server 2008 Integration Services (SSIS) alle Skripts vorkompiliert. Wenn ein Skript vorkompiliert ist, wird das Sprachmodul zur Laufzeit nicht geladen, und das Paket wird schneller ausgeführt. Kompilierte binäre Dateien belegen jedoch erheblich mehr Speicherplatz.

Konfigurieren des Skripttasks

Es gibt folgende Möglichkeiten, um den Skripttask zu konfigurieren:

  • Stellen Sie das benutzerdefinierte Skript bereit, das von dem Task ausgeführt wird.

  • Geben Sie die Methode im VSTA-Projekt an, die die Integration Services-Laufzeit als Einstiegspunkt in den Code des Skripttasks aufruft.

  • Geben Sie die Skriptsprache an.

  • Geben Sie optional Listen mit schreibgeschützten und Lese-/Schreibvariablen für die Verwendung im Skript an.

Diese Eigenschaften können Sie mit dem SSIS-Designer oder programmgesteuert festlegen.

Konfigurieren des Skripttasks im Designer

In der folgenden Tabelle wird das ScriptTaskLogEntry-Ereignis beschrieben, das für den Skripttask protokolliert werden kann. Das ScriptTaskLogEntry-Ereignis wird für die Protokollierung auf der Registerkarte Details des Dialogfelds SSIS-Protokolle konfigurieren ausgewählt. Weitere Informationen finden Sie unter Implementieren der Protokollierung in Pakete und Benutzerdefinierte Meldungen für die Protokollierung.

Protokolleintrag

Description

ScriptTaskLogEntry

Gibt die Ergebnisse des Implementierens der Protokollierung innerhalb des Skripts an. Der Task schreibt für jeden Aufruf der Log-Methode des Dts-Objekts einen Protokolleintrag. Der Task schreibt diese Einträge, wenn der Code ausgeführt wird. Weitere Informationen finden Sie unter Protokollieren im Skripttask.

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im SSIS-Designer festlegen können:

Klicken Sie auf das folgende Thema, um weitere Informationen zum Festlegen dieser Eigenschaften im SSIS-Designer zu erhalten:

Programmgesteuertes Konfigurieren des Skripttasks

Klicken Sie auf das folgende Thema, um weitere Informationen zum programmgesteuerten Festlegen dieser Eigenschaften zu erhalten:

Integration Services (kleines Symbol) Bleiben Sie mit Integration Services auf dem neuesten Stand

Die neuesten Downloads, Artikel, Beispiele und Videos von Microsoft sowie ausgewählte Lösungen aus der Community finden Sie auf der Integration Services-Seite von MSDN oder TechNet:

Abonnieren Sie die auf der Seite verfügbaren RSS-Newsfeeds, um automatische Benachrichtigungen zu diesen Aktualisierungen zu erhalten.