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



我正在浏览 SSIS DB 项目目录,以查找从主包调用的每个 SSIS 包的开始和结束日期时间。有什么疑问可以进行吗?

看完[内部]。[处决]和SSISDB.catalog.operation_messages等

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

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

我试图找到每个孩子帕卡奇的开始和结束时间。

CATALOG.EXECUTABLE_STATISTICSDMV 记录包中组件的执行统计信息,包括执行包任务。START_TIME列和END_TIME列存储组件开始和完成执行的时间。EXECUTION_DURATION列保存可执行文件(在本例中为子包)执行所需的时间(以毫秒为单位)。 当然,这可以转换为秒,分钟等,具体取决于您的需要。 虽然它有一个用于父包中组件执行路径的列,但它没有用于组件直接名称的列,因此EXECUTABLE_NAME包含CATALOG.EXECUTABLES,如果您只想查看执行路径(EXECUTION_PATH列),则可以省略此 DMV。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'

相关内容

最新更新