3 votes

Comment suivre le statut des lignes traitées avec succès ou en échec dans une tâche de flux de données SSIS ?

J'ai une tâche de flux de données très simple qui lit les données d'un FF et insère les données dans un tableau. En même temps, je voudrais écrire dans un tableau d'audit, combien de lignes ont été insérées, la date de création...

Comment puis-je le faire facilement ?

10voto

Si vous ne vous intéressez qu'au nombre de lignes traitées avec succès ou au nombre de lignes qui ont rencontré des erreurs, vous pouvez utiliser les fonctions intégrées de l'application SSIS logging caractéristique. Veuillez vérifier les étapes mentionnées ci-dessous. J'espère que l'exemple vous donnera une idée. Je n'ai affiché que deux colonnes de la table d'enregistrement, mais il existe d'autres champs utiles comme l'heure de début, l'heure de fin, etc. SSIS 2008 R2

  1. Cliquez sur le SSIS package .

  2. Dans les menus, sélectionnez SSIS --> Logging...

  3. Sur la page Configurer Journaux SSIS : sélectionnez le type de fournisseur et cliquez sur Ajouter. J'ai choisi SQL Server pour cet exemple. Cochez la case Nom et fournissez la source de données dans la colonne Configuration. Ici, SQLServer est le nom du gestionnaire de connexion. SSIS 2008 o SSIS 2008 R2 va créer une table nommée dbo.sysssislog et la procédure stockée dbo.sp_ssis_addlogentry dans la base de données que vous avez sélectionnée. Voir la capture d'écran #1 ci-dessous. Le nom de la table dans SSIS 2005 es dbo.sysdtslog90 et la procédure stockée est nommée dbo.sp_dts_addlogentry

  4. Si vous souhaitez que les lignes soient traitées, cochez la case OnInformation. Dans l'exemple, le paquet s'est exécuté avec succès et les enregistrements du journal ont été trouvés sous OnInformation. Vous devrez peut-être affiner la sélection de cet événement en fonction de vos besoins. Voir la capture d'écran #2 ci-dessous.

  5. Voici un exemple d'exécution de paquet dans une tâche de flux de données. Voir la capture d'écran #3 ci-dessous.

  6. Voici un exemple de sortie de la table de journalisation dbo.sysssislog. Je n'ai affiché que les colonnes id y message . Il y a beaucoup d'autres colonnes dans la table. Dans la requête, je filtre la sortie uniquement pour le paquet nommé ' Paquet 1 et l'événement SurInformation '. Vous pouvez remarquer que les enregistrements avec les ids 7, 14 et 15 contiennent les lignes traitées. Voir la capture d'écran #4 ci-dessous.

J'espère que cela vous aidera.

Capture d'écran #1 :

Logging

Capture d'écran n°2 :

Events

Capture d'écran #3 :

Execution

Capture d'écran #4 :

Data

0voto

Yuck Points 23174

Vous pouvez multidiffuser le fichier plat, ou utiliser un déclencheur sur la table dans laquelle vous insérez les données. Si c'est une table qui fait l'objet d'un audit, vous voudrez probablement savoir quand tout les données sont insérées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X