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

通过SQL脚本执行SSIS包报错:无法访问或找不到包

排查SSIS包执行SQL脚本报错(Msg 27146)

你尝试通过SQL脚本执行SSIS包,脚本如下:

Declare @execution_id bigint

EXEC [SSISDB].[catalog].[create_execution]
 @package_name = N'SF_Appointment.dtsx'
,@execution_id = @execution_id OUTPUT
,@folder_name = N'Packages'
,@project_name = N'SF_tables'
,@use32bitruntime = False
,@reference_id = Null
,@runinscaleout = False

调整文件夹名称参数后仍报错:

Msg 27146, Level 16, State 1, Procedure SSISDB.catalog.create_execution, Line 201 [Batch Start Line 0] Cannot access the package or the package does not exist. Verify that the package exists and that the user has permissions to it.

已排除权限问题,可从以下几个方向排查:

  • 核对参数与SSISDB实际层级匹配
    SSISDB的层级是文件夹 -> 项目 -> 包,@folder_name必须填写项目所在的文件夹名称,而非包的单独目录。执行以下SQL查询包的真实路径,核对参数是否一致:

    SELECT 
        f.name AS folder_name,
        p.name AS project_name,
        pkg.name AS package_name
    FROM 
        SSISDB.catalog.folders f
    JOIN 
        SSISDB.catalog.projects p ON f.folder_id = p.folder_id
    JOIN 
        SSISDB.catalog.packages pkg ON p.project_id = pkg.project_id
    WHERE 
        pkg.name = 'SF_Appointment.dtsx'
    
  • 确认包的部署状态
    检查包是否确实部署到了指定项目中。若包是单独部署(未作为项目组件),需确认它在SSISDB.catalog.packages中的记录,且对应的project_id是否为空——这种场景下执行逻辑会有差异。

  • 检查名称大小写匹配
    如果SQL Server实例使用区分大小写的排序规则,脚本中填写的文件夹、项目、包名必须与SSISDB中存储的完全一致(包括大小写),比如SF_appointment.dtsx和SF_Appointment.dtsx会被视为不同名称。

  • 验证环境引用参数
    若包依赖SSIS环境变量,@reference_id不能设为Null,需指定对应的环境引用ID。执行以下查询获取目标项目的环境引用信息:

    SELECT 
        er.reference_id,
        f.name AS folder_name,
        p.name AS project_name,
        e.name AS environment_name
    FROM 
        SSISDB.catalog.environment_references er
    JOIN 
        SSISDB.catalog.folders f ON er.folder_id = f.folder_id
    JOIN 
        SSISDB.catalog.projects p ON er.project_id = p.project_id
    JOIN 
        SSISDB.catalog.environments e ON er.environment_id = e.environment_id
    WHERE 
        p.name = 'SF_tables'
    

    将查询到的reference_id替换脚本中的Null值。

  • 排查Scale Out配置(可选)
    尽管脚本中@runinscaleout = False,若SSIS Scale Out已启用,可检查Scale Out Worker服务是否正常运行——此场景较少触发“包不存在”错误,可作为最后排查项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 09:12:33