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.