Ben,
Je suppose que vous voulez savoir le temps qu'il a fallu pour l'exécution de l'ensemble du paquet ou les tâches à l'intérieur d'un paquet. Encore une fois, je vous recommande d'utiliser l'assembly ManagedDTS si possible (au lieu de l'assembly wrapper).
Si vous utilisez l'assembly ManagedDTS, tous les objets hôte conteneur et tâche héritent des propriétés StartTime et StopTime de l'objet DtsContainer. Ainsi dans l'assemblage ManagedDts vous pouvez le faire (pkg Asuming est un objet de paquet dans l'ensemble de ManagedDTS)
pkg.StartTime - pkg.StopTime
Si vous voulez que le temps d'exécution d'un exécutable spécifique dans le package, vous pouvez toujours appeler les propriétés STARTTIME et stopTime sur cet exécutable spécifique (puisqu'il hérite de DtsContainer).
Dans l'emballage, les choses sont un peu moins simples. Les propriétés StartTime et StopTime sont disponibles via l'interface IDTSExecutionMetrics100. Vous devez jeter votre objet de package (ou tout autre tâche/conteneur) à cette interface, puis accéder aux propriétés STARTTIME et stopTime. (Pkg Asuming est un objet IDTSPackage100 dans l'assemblage d'emballage)
(pkg as IDTSExecutionMetrics100).StartTime - (pkg as IDTSExecutionMetrics100).StopTime
et si vous êtes à la recherche des durées d'exécution d'un exécutable spécifique dans un package, vous devez accéder à cet exécutable spécifique, le convertir vers l'interface IDTSExecutionMetrics100, puis accéder au StartTime et au StopTime.
L'assemblage ManagedDTS simplifie ces choses et toutes les propriétés et méthodes pertinentes sont plus intuitivement disponibles que via l'assemblage Wraper.
[Documentation de journalisation SSIS] (https://msdn.microsoft.com/fr-fr/library/ms140246.aspx) – stuartd
@stuartd Quelle est la version de ce document? Je n'ai pas de méthode OnInformation pour mon package. –
Hit la liste déroulante sous le titre pour les différentes versions, ils remontent à 2008R2 – stuartd