catalog.add_data_tap
Ajoute un drainage de données sur la sortie d'un composant dans un flux de données de package, pour une instance d'exécution.
Syntaxe
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
Arguments
[ @execution\_id = ] execution_id
ID de l'exécution contenant le package. execution_id est de type bigint.[ @task\_package\_path = ] task_package_path
Chemin d'accès de package de la tâche de flux de données. La propriété PackagePath de la tâche de flux de données spécifie le chemin d'accès. Le chemin d'accès respecte la casse. Pour rechercher le chemin d'accès au package, dans Outils de données SQL Server cliquez avec le bouton droit sur la tâche de flux de données, puis cliquez sur Propriétés. La propriété PackagePath s'affiche dans la fenêtre Propriétés.task_package_path est de type nvarchar(max).
[ @dataflow\_path\_id\_string = ] dataflow_path_id_string
Chaîne d'identification du chemin d'accès de flux de données. Un chemin d'accès connectent deux composants de flux de données. La propriété IdentificationString du chemin d'accès spécifie la chaîne.Pour rechercher la chaîne d'identification, dans Outils de données SQL Server cliquez avec le bouton droit sur le chemin d'accès entre deux composants de flux de données, puis cliquez sur Propriétés. La propriété IdentificationString s'affiche dans la fenêtre Propriétés.
dataflow_path_id_string est de type nvarchar(4000).
[ @data\_filename = ] data_filename
Nom du fichier qui stocke les données drainées. Si la tâche de flux de données s'exécute à l'intérieur d'un conteneur de boucles Foreach ou For, des fichiers distincts stockent les données drainées pour chaque itération de la boucle. Chaque fichier a pour préfixe un nombre qui correspond à une itération.Par défaut, le fichier est stocké dans le dossier <lecteur>:\Program Files\Microsoft SQL Server\110\DTS\DataDumps.
data_filename est de type nvarchar(4000).
[ @max\_rows = ] max_rows
Nombre de lignes capturées pendant le drainage de données. Si cette valeur n'est pas spécifiée, toutes les lignes sont capturées. max_rows est un int.[ @data\_tap\_id = ] data_tap_id
Retourne l'ID de la collecte de données. data_tap_id est de type bigint.
Exemple
Dans l'exemple suivant, un drainage de données est créé sur le chemin d'accès de flux de données, 'Paths[OLE DB Source.OLE DB Source Output], dans la tâche de flux de données \Package\Data Flow Task. Les données drainées sont stockées dans le fichier output0.txt dans le dossier DataDumps (<lecteur>:\Program Files\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
Notes
Pour ajouter des drainages de données, l'instance d'exécution doit avoir l'état Created (valeur 1 dans la colonne status de la vue catalog.operations (base de données SSISDB)). La valeur d'état change lorsque vous exécutez l'exécution. Vous pouvez créer une exécution en appelant catalog.create_execution (base de données SSISDB).
Les considérations suivantes sont à prendre en compte pour la procédure stockée add_data_tap.
Si une exécution contient un package parent et un ou plusieurs packages enfants, vous devez ajouter un drainage de données pour chaque package pour lequel vous souhaitez effectuer un drainage de données.
Si un package contient plusieurs tâches de flux de données portant le même nom, task_package_path identifie de manière unique la tâche de flux de données qui contient la sortie du composant drainé.
Lorsque vous ajoutez une collecte de données, celle-ci n'est pas validée tant que le package n'est pas exécuté.
Il est recommandé de limiter le nombre de lignes capturées pendant le drainage des données, pour éviter de générer des fichiers de données de grande taille. Si l'ordinateur sur lequel la procédure stockée est exécutée, manque d'espace de stockage pour les fichiers de données, le package cesse de s'exécuter et un message d'erreur est consigné dans un journal.
L'exécution de la procédure stockée add_data_tap affecte les performances du package. Il est recommandé d'exécuter la procédure stockée seulement pour résoudre des problèmes de données.
Pour accéder au fichier qui stocke les données drainées, vous devez être administrateur sur l'ordinateur sur lequel la procédure stockée est exécutée. Vous devez également être l'utilisateur qui a démarré l'exécution contenant le package avec le drainage de données.
Codes de retour
0 (succès)
Lorsque la procédure stockée échoue, elle génère une erreur.
Jeu de résultats
None
Autorisations
Cette procédure stockée requiert l'une des autorisations suivantes :
Autorisations MODIFY sur l'instance d'exécution
Appartenance au rôle de base de données ssis_admin
Appartenance au rôle de serveur sysadmin
Erreurs et avertissements
La liste suivante décrit les conditions provoquant l'échec de la procédure stockée.
L'utilisateur ne dispose pas des autorisations MODIFY.
Le drainage de données du composant spécifié, dans le package spécifié, a déjà été ajouté.
La valeur spécifiée pour le nombre de lignes à capturer n'est pas valide.
Ressources externes
Entrée de blog, SSIS 2012: A Peek to Data Taps, sur le site rafael-salas.com.