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

如何取消处于Created Execution状态的SSIS作业并清理执行日志

解决方案

步骤1:确认目标执行实例ID

先执行以下查询精准定位要删除的作业,避免误操作:

USE SSISDB
GO
SELECT 
    execution_id, 
    folder_name, 
    project_name, 
    package_name, 
    status, 
    created_time
FROM catalog.executions
WHERE 
    status = 1 -- 1代表Created状态,匹配你当前的作业状态
    -- 可补充以下过滤条件缩小范围
    AND project_name = N'你的项目名称'
    AND package_name = N'你的包名称.dtsx'

catalog.stop_operation仅支持处理运行中的执行实例(status=2),你当前的作业处于未启动的Created状态,所以无法调用该接口。

步骤2:删除目标执行实例

SSISDB提供原生存储过程catalog.delete_execution用于清理非运行状态的执行记录,包括Created、取消、失败、完成的实例,调用后会同步清理关联的日志、参数等数据,不会产生脏数据:

单条删除

USE SSISDB
GO
-- 替换为步骤1查询得到的execution_id
EXEC catalog.delete_execution @execution_id = 替换为实际ID

批量删除

如果需要清理多个符合条件的实例,可以用游标批量处理:

USE SSISDB
GO
DECLARE @exec_id BIGINT
DECLARE exec_cursor CURSOR FOR
-- 此处过滤条件和步骤1保持一致
SELECT execution_id FROM catalog.executions WHERE status = 1 AND project_name = N'你的项目名称'

OPEN exec_cursor
FETCH NEXT FROM exec_cursor INTO @exec_id
WHILE @@FETCH_STATUS = 0
BEGIN
    EXEC catalog.delete_execution @execution_id = @exec_id
    FETCH NEXT FROM exec_cursor INTO @exec_id
END
CLOSE exec_cursor
DEALLOCATE exec_cursor

注意事项

  • 执行操作的账号需要具备SSISDB的ssis_admin角色权限,或对应项目的MODIFY权限
  • 禁止直接修改/删除SSISDB的底层系统表,避免破坏数据一致性
  • 操作前务必确认查询过滤条件准确,避免误删其他正常执行记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:54:02