Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取特定日期所有失败SSIS包的列表_Sql_Sql Server_Ssis_Ssis 2017 - Fatal编程技术网

Sql 获取特定日期所有失败SSIS包的列表

Sql 获取特定日期所有失败SSIS包的列表,sql,sql-server,ssis,ssis-2017,Sql,Sql Server,Ssis,Ssis 2017,大家好,我们有没有办法在任何特定日期获取所有失败软件包的列表,我们可以用SQL查询吗? 我们正在使用SSIS 2017。您好,请尝试此sql查询以查询sql代理作业: 假设包已部署到SSIDB并从目录运行,则查询SSIDB.catalog.EXECUTIONSDMV以获取状态为4的执行。如中所述,状态为4的包导致失败。由于start\u time列属于datetimeoffsetdate类型,并且我假设您只想按日期而不是时间查询包失败,因此此列被强制转换为下面的日期,以便默认为午夜 SELECT

大家好,我们有没有办法在任何特定日期获取所有失败软件包的列表,我们可以用SQL查询吗?
我们正在使用SSIS 2017。

您好,请尝试此sql查询以查询sql代理作业:


假设包已部署到SSIDB并从目录运行,则查询
SSIDB.catalog.EXECUTIONS
DMV以获取状态为4的执行。如中所述,状态为4的包导致失败。由于
start\u time
列属于
datetimeoffset
date类型,并且我假设您只想按日期而不是时间查询包失败,因此此列被强制转换为下面的日期,以便默认为午夜

SELECT EXECUTION_ID
      ,FOLDER_NAME
      ,PROJECT_NAME
      ,PACKAGE_NAME
      ,REFERENCE_ID
      ,REFERENCE_TYPE
      ,ENVIRONMENT_FOLDER_NAME
      ,ENVIRONMENT_NAME
      ,[OBJECT_ID]
      ,[STATUS]
      ,START_TIME
      ,END_TIME
      ,CALLER_SID
      ,CALLER_NAME
      ,SERVER_NAME
      ,MACHINE_NAME
FROM SSISDB.CATALOG.EXECUTIONS
--4 for failed packages
WHERE [STATUS] = 4 AND CAST(START_TIME AS DATE) = '2019-01-01'

请仔细看看,失败的不是SSIS包,而是SQL代理作业。SSI和SQL代理是两种截然不同的东西。如果包也是通过T-SQL调用的(这在SQL Server 201+和SSIDB中非常容易实现),则此脚本不会提供有关这些故障的信息。
SELECT EXECUTION_ID
      ,FOLDER_NAME
      ,PROJECT_NAME
      ,PACKAGE_NAME
      ,REFERENCE_ID
      ,REFERENCE_TYPE
      ,ENVIRONMENT_FOLDER_NAME
      ,ENVIRONMENT_NAME
      ,[OBJECT_ID]
      ,[STATUS]
      ,START_TIME
      ,END_TIME
      ,CALLER_SID
      ,CALLER_NAME
      ,SERVER_NAME
      ,MACHINE_NAME
FROM SSISDB.CATALOG.EXECUTIONS
--4 for failed packages
WHERE [STATUS] = 4 AND CAST(START_TIME AS DATE) = '2019-01-01'