You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过查询或命令查看Integration Services中正在运行的包

运行包视图效果图

解决方案

SSMS中SSIS对象下展示的运行包数据全部存储在SSISDB系统数据库的内置视图中,你可以直接执行以下查询得到完全一致的结果:

查询当前正在运行的SSIS包(和SSMS实时视图完全匹配)

USE SSISDB
GO
SELECT 
    e.execution_id 执行ID,
    e.folder_name 文件夹名称,
    e.project_name 项目名称,
    e.package_name 包名称,
    e.status_desc 运行状态,
    e.start_time 开始时间,
    e.executed_by_name 执行账号,
    e.server_name 运行服务器,
    e.total_physical_memory_kb 占用物理内存(KB)
FROM catalog.executions e
-- 状态值2对应运行中、5对应挂起,均为SSMS视图默认展示的活跃运行包
WHERE e.status IN (2,5)
ORDER BY e.start_time DESC

状态值说明

你可以修改WHERE条件中的status值筛选不同执行状态的包:

  • 1 = 执行已创建
  • 2 = 正在运行
  • 3 = 已取消
  • 4 = 执行失败
  • 5 = 执行挂起
  • 6 = 执行成功结束
  • 7 = 执行失败结束
  • 8 = 正在停止
  • 9 = 执行完成

查询包含代理作业关联信息的运行包

如果需要查看通过SQL Server代理执行的包对应的作业信息,可使用以下关联查询:

USE SSISDB
GO
SELECT 
    e.execution_id 执行ID,
    e.folder_name 文件夹,
    e.project_name 项目,
    e.package_name 包名,
    j.name 关联代理作业名,
    js.step_name 作业步骤名,
    e.status_desc 状态,
    e.start_time 开始时间,
    e.executed_by_name 执行人
FROM catalog.executions e
LEFT JOIN msdb.dbo.sysjobactivity ja 
    ON ja.job_history_id = e.job_id
LEFT JOIN msdb.dbo.sysjobs j ON j.job_id = ja.job_id
LEFT JOIN msdb.dbo.sysjobsteps js 
    ON js.job_id = j.job_id AND js.step_id = ja.step_id
WHERE e.status IN (2,5)
ORDER BY e.start_time DESC

内容的提问来源于stack exchange,提问作者Ivan utama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 20:54:02