Skripttask

Aktualisiert: 17. Juli 2006

Der Skripttask stellt Code zum Ausführen von Funktionen bereit, die in den integrierten Tasks und Transformationen von SQL Server 2005 Integration 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 durchzuführen. Wenn Sie das Skript verwenden müssen, um dieselben Aktionen für jede Datenzeile einer Gruppe durchzuführen, sollten Sie anstelle des Skripttasks die Skriptkomponente verwenden. 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.

Der vom Skripttask erstellte Code ist ein benutzerdefinierter Microsoft Visual Basic .NET-Code, der zur Paketlaufzeit kompiliert und ausgeführt wird.

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.

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 den Namen der Funktion an, die den Einstiegspunkt im Skript darstellt.
  • Geben Sie an, ob das Skript vorkompiliert wird.
  • Geben Sie optional Listen mit schreibgeschützten und Lese-/Schreibvariablen für die Verwendung im Skript an.

Der Skripttask verwendet Visual Studio für Applikationen (VSA) zum Schreiben und Ausführen von Skripts. Zum Ausführen eines Skripts muss VSA auf den Computern, auf denen das Paket ausgeführt wird, installiert sein.

Weitere Informationen zum Erstellen von Code für den Skripttask finden Sie unter Extending the Package with the Script Task.

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

Visual Studio für Applikationen-Umgebung

Der Skripttask stellt den Zugriff auf die VSA-Umgebung bereit. Alle Standardfeatures der Visual Studio .NET-Umgebung sind verfügbar, wie z. B. der Visual Studio-Editor mit Farbcodierung, IntelliSense und Objekt-Explorer.

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.

Der Skripttask bietet gegenüber dem ActiveX-Skripttask mehrere Vorteile:

  • Integrierte Entwicklungsumgebung. VSA bietet dieselbe integrierte Entwicklungsumgebung (IDE), die in anderen Microsoft-Entwicklungstools bereitgestellt wird.
  • Integrierter Debugger. Mit VSA ist das Debuggen von Skripts mit demselben Debugger möglich, der in anderen Microsoft-Entwicklungstools bereitgestellt wird. Haltepunkte im Skript sind vollständig mit Haltepunkten in Tasks und Containern von Integration Services kompatibel.
  • Verwendung von Common Language Runtime (CLR).
  • Integration in SSIS-Designer.

Der ActiveX-Skripttask wird durch den Skripttask ersetzt. Verwenden Sie den ActiveX-Skripttask nur dann, wenn dies für die Abwärtskompatibilität erforderlich ist. Dieses Feature wird in der nächsten Version von Microsoft SQL Server entfernt. Verwenden Sie dieses Feature nicht zum Entwickeln neuer Anwendungen, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird, zum frühstmöglichen Zeitpunkt ein.

Optimierung

VSA-Skripts müssen kompiliert werden, damit das Paket ausgeführt werden kann. Der Skripttask schließt eine Option ein, um Skripts in binären Code vorzukompilieren, wenn das Paket gespeichert wird. Wenn das 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. Wenn Sie die Option der Vorkompilierung nicht verwenden, wird das Skript zur Laufzeit kompiliert, wodurch zwar die Paketausführung verlangsamt, aber weniger Speicherplatz beansprucht wird. Wenn das Speichern großer Pakete kein Problem ist, sollten Sie Ihre VSA-Skripts vorkompilieren. Des Weiteren können in einer 64-Bit-Umgebung nur vorkompilierte Skripts ausgeführt werden.

Bei der Auswahl der Vorkompilierung muss außerdem beachtet werden, dass das Debuggen eines kompilierten Skripts nicht möglich ist. Der Skripttask ist standardmäßig so konfiguriert, dass sein Skript vorkompiliert wird, und seine PreCompile-Eigenschaft ist auf True festgelegt. Während der Entwicklung und dem Debuggen eines Pakets ist die PreCompile-Eigenschaft in der Regel auf False festgelegt und wird anschließend vor dem Bereitstellen des Pakets auf True zurückgesetzt.

Verfügbare benutzerdefinierte Meldungen für die Protokollierung für den Skripttask

In der folgenden Tabelle werden die benutzerdefinierten Protokolleinträge für den Skripttask beschrieben. 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. Für jeden Aufruf der Log-Methode des Dts-Objekts wird jeweils ein Protokolleintrag geschrieben. Der Eintrag wird beim Ausführen des Codes geschrieben. Weitere Informationen finden Sie unter Logging in the Script Task.

Konfigurieren des Skripttasks

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

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:

Siehe auch

Konzepte

Integration Services-Tasks
Erstellen einer Paketablaufsteuerung
Überlegungen zu Integration Services auf 64-Bit-Computern

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

17. Juli 2006

Geänderter Inhalt:
  • Eine Tabelle mit benutzerdefinierten Protokolleinträgen wurde hinzugefügt.

05. Dezember 2005

Geänderter Inhalt:
  • Tipps zur bestmöglichen Verwendung von Skripttasks im Vergleich mit Skriptkomponenten wurden hinzugefügt.