ssis 子包中的开始和结束日期时间

Begin and End date times in ssis child packages

我正在查看 SSIS 数据库项目目录,以查找从主包调用的每个 SSIS 包的开始和结束日期时间。是否有任何疑问可以执行此操作?

查看 [内部].[执行] 和 SSISDB.catalog.operation_messages 等

运行如果我有一个调用子包的主包,则此查询不起作用。

select start_time,end_time,*
from catalog.executions cc order by cc.start_time desc

我正在尝试查找每个儿童包裹的开始和结束时间。

CATALOG.EXECUTABLE_STATISTICS DMV 记录包内组件的执行统计信息,包括执行包任务。 START_TIMEEND_TIME 列存储组件开始和完成执行的时间。 EXECUTION_DURATION 列包含可执行文件(在本例中为子包)执行所花费的时间(以毫秒为单位)。这当然可以转换为秒、分钟等,具体取决于您的需要。虽然它有一列用于父包中组件的执行路径,但它没有一列用于组件的直接名称,因此 EXECUTABLE_NAME 包含了 CATALOG.EXECUTABLES,并且此 DMV如果您只想查看执行路径(EXECUTION_PATH 列),则可以省略。 CATALOG.EXECUTIONS 包含文件夹和项目名称列,您可以加入此列以对包所在的特定项目和文件夹应用过滤器。您还可以在 EXECUTION_ID 列上应用过滤器仅查看特定执行的详细信息。在基本日志记录级别执行包,允许记录组件的执行详细信息。

SELECT 
    EX.FOLDER_NAME,
    EX.PROJECT_NAME,
    E.EXECUTABLE_NAME,
    EX.PACKAGE_NAME,
    ES.START_TIME AS ComponentStartTime,
    ES.END_TIME AS ComponentEndTime,
    EX.start_time AS PackageStartTime,
    EX.end_time AS PackageEndTime,
    ES.EXECUTION_DURATION AS ComponentExecutionTimeInMilliseconds
FROM SSISDB.CATALOG.EXECUTIONS EX 
INNER JOIN SSISDB.CATALOG.EXECUTABLES E on EX.EXECUTION_ID = E.EXECUTION_ID
INNER JOIN SSISDB.CATALOG.EXECUTABLE_STATISTICS ES on E.EXECUTABLE_ID = ES.EXECUTABLE_ID AND EX.EXECUTION_ID = ES.EXECUTION_ID
--PACKAGE_NAME- parent package
WHERE E.PACKAGE_NAME = 'Package Name.dtsx' AND EX.PROJECT_NAME = 'Project Name' 
AND EX.FOLDER_NAME = 'Folder Name'