catalog.add_data_tap

Fügt auf der Ausgabe einer Komponente in einem Paketdatenfluss für eine Instanz der Ausführung eine Datenabzweigung hinzu.

Syntax

add_data_tap [ @execution_id = ] execution_id
[ @task_package_path = ] task_package_path
[ @dataflow_path_id_string = ] dataflow_path_id_string
[ @data_filename = ] data_filename
[ @max_rows = ] max_rows
[ @data_tap_id = ] data_tap_id
OUTPUT

Argumente

  • [ @execution\_id = ] execution_id
    Die Ausführungs-ID für die Ausführung, die das Paket enthält. execution_id ist bigint.

  • [ @task\_package\_path = ] task_package_path
    Der Paketpfad für den Datenflusstask. Die PackagePath-Eigenschaft für den Datenflusstask gibt den Pfad an. Der Pfad berücksichtigt die Groß- und Kleinschreibung. Um den Paketpfad zu suchen, klicken Sie in SQL Server-Datentools mit der rechten Maustaste auf den Datenflusstask, und klicken Sie dann auf Eigenschaften. Die PackagePath-Eigenschaft wird im Fenster Eigenschaften angezeigt.

    task_package_path ist nvarchar(max).

  • [ @dataflow\_path\_id\_string = ] dataflow_path_id_string
    Die Identifikationszeichenfolge für den Datenflusspfad. Mit einem Pfad werden zwei Datenflusskomponenten verbunden. Die IdentificationString-Eigenschaft für den Pfad gibt die Zeichenfolge an.

    Um die Identifikationszeichenfolge zu suchen, klicken Sie in SQL Server-Datentools mit der rechten Maustaste auf den Pfad zwischen zwei Datenflusskomponenten, und klicken dann auf Eigenschaften. Die IdentificationString-Eigenschaft wird im Fenster Eigenschaften angezeigt.

    dataflow_path_id_string ist nvarchar(4000).

  • [ @data\_filename = ] data_filename
    Der Name der Datei, in der die abgezweigten Daten gespeichert werden. Wenn der Datenflusstask in einer Foreach-Schleife oder einem For-Schleifencontainer ausgeführt wird, werden die abgezweigten Daten für jede Iteration der Schleife in separaten Dateien gespeichert. Jeder Datei wird eine Zahl für die jeweilige Iteration als Präfix vorangestellt.

    Die Datei wird standardmäßig im Ordner <Laufwerk>:\Programme\Microsoft SQL Server\110\DTS\DataDumps gespeichert.

    data_filename ist nvarchar(4000).

  • [ @max\_rows = ] max_rows
    Die Anzahl der Zeilen, die während der Datenabzweigung aufgezeichnet werden. Wenn dieser Wert nicht angegeben wird, werden alle Zeilen aufgezeichnet. max_rows ist int.

  • [ @data\_tap\_id = ] data_tap_id
    Gibt die ID der Datenabzweigung zurück. data_tap_id ist bigint.

Beispiel

Im folgenden Beispiel wird eine Datenabzweigung für den Datenflusspfad 'Paths[OLE DB Source.OLE DB Source Output] im Datenflusstask \Package\Data Flow Task erstellt. Die abgezweigten Daten werden in der Datei output0.txt im Ordner DataDumps gespeichert (<Laufwerk>:\Programme\Microsoft SQL Server\110\DTS\DataDumps).

Declare @execution_id bigint
Exec SSISDB.Catalog.create_execution @folder_name='Packages',@project_name='SSISPackages', @package_name='Package.dtsx',@reference_id=Null, @use32bitruntime=False, @execution_id=@execution_id OUTPUT

Exec SSISDB.Catalog.set_execution_parameter_value @execution_id,50, 'LOGGING_LEVEL', 0

Exec SSISDB.Catalog.add_data_tap @execution_id, @task_package_path='\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[OLE DB Source.OLE DB Source Output]', @data_filename = 'output0.txt'

Exec SSISDB.Catalog.start_execution @execution_id

Hinweise

Um Datenabzweigungen hinzuzufügen, muss die Instanz der Ausführung den Status "Erstellt" (der Wert 1 in der Spalte status der catalog.operations (SSISDB-Datenbank)-Sicht) aufweisen. Der Statuswert ändert sicher, wenn Sie die Ausführung starten. Sie können eine Ausführung erstellen, indem Sie catalog.create_execution (SSISDB-Datenbank) aufrufen.

Folgende Überlegungen sind bei der gespeicherten Prozedur "add_data_tap" zu beachten.

  • Wenn eine Ausführung ein übergeordnetes Paket und mindestens ein untergeordnetes Paket enthält, müssen Sie eine Datenabzweigung für jedes Paket hinzufügen, für das Sie Daten abzweigen möchten.

  • Wenn ein Paket mehr als einen Datenflusstask mit dem gleichen Namen enthält, wird der Datenflusstask durch "task_package_path" mit Angaben zur abgezweigten Komponentenausgabe eindeutig identifiziert.

  • Eine neu hinzugefügte Datenabzweigung wird erst beim Ausführen des Pakets überprüft.

  • Es wird empfohlen, die Anzahl von Zeilen, die während der Datenabzweigung aufgezeichnet werden, zu beschränken, damit keine zu großen Datendateien generiert werden. Wenn auf dem Computer, auf dem die gespeicherte Prozedur ausgeführt wird, nicht genügend Speicherplatz für die Datendateien verfügbar ist, wird die Ausführung des Pakets beendet und eine Fehlermeldung in ein Protokoll geschrieben.

  • Die Ausführung der gespeicherten Prozedur "add_data_tap" wirkt sich auf die Leistung des Pakets aus. Es wird empfohlen, die gespeicherte Prozedur nur zum Beheben von Datenproblemen auszuführen.

  • Um auf die Datei zuzugreifen, in der die abgezweigten Daten speichert sind, müssen Sie auf dem Computer, auf dem die gespeicherte Prozedur ausgeführt wird, als Administrator angelegt sein. Außerdem müssen Sie die Ausführung gestartet haben, die das Paket mit der Datenabzweigung enthält.

Rückgabecodes

0 (Erfolg)

Wenn die gespeicherte Prozedur fehlschlägt, wird ein Fehler ausgelöst.

Resultset

Kein

Berechtigungen

Diese gespeicherte Prozedur erfordert eine der folgenden Berechtigungen:

  • MODIFY-Berechtigungen für die Instanz der Ausführung

  • Mitgliedschaft in der Datenbankrolle ssis_admin

  • Mitgliedschaft in der Serverrolle sysadmin

Fehler und Warnungen

Die folgende Liste beschreibt Bedingungen, unter denen die gespeicherte Prozedur fehlschlägt.

  • Der Benutzer verfügt nicht über MODIFY-Berechtigungen.

  • Die Datenabzweigung für die angegebene Komponente im angegebenen Paket wurde bereits hinzugefügt.

  • Der für die Anzahl der aufzuzeichnenden Zeilen angegebene Wert ist ungültig.

Externe Ressourcen

Blogeintrag SSIS 2012: Ein kurzer Blick auf Datenabzweigungen auf rafael-salas.com.

Siehe auch

Verweis

catalog.add_data_tap_by_guid