无法删除集成服务目录(SSISDB)项目,持SQL sysadmin权限应如何解决?
解决步骤
- 首先确认SSIS目录专属权限配置:即使拥有SQL sysadmin权限,也需要额外在SSISDB数据库中分配ssis_admin服务器角色,同时对目标项目所在的SSIS目录文件夹配置删除、修改的对象权限,部分场景下sysadmin不会自动继承SSIS目录的细粒度权限。
- 优先使用T-SQL命令删除,比SSMS图形界面操作兼容性更强:
- 先执行查询定位目标项目信息:
USE SSISDB GO SELECT f.name 文件夹名, p.name 项目名, p.project_id, f.folder_id FROM catalog.projects p JOIN catalog.folders f ON p.folder_id = f.folder_id WHERE p.name = N'替换为你的项目名称' AND f.name = N'替换为项目所属文件夹名称'- 调用官方存储过程执行删除:
EXEC [catalog].[delete_project] @folder_name = N'替换为上一步查到的文件夹名', @project_name = N'替换为上一步查到的项目名' - 若执行删除仍报错,先停止该项目下所有运行中的SSIS包实例:
- 先查询运行中的关联任务:
USE SSISDB GO SELECT * FROM catalog.executions WHERE project_id = 替换为第一步查到的project_id AND status IN (2,3) -- 2=运行中,3=已暂停- 对查询到的执行任务逐个停止:
EXEC catalog.stop_operation @operation_id = 替换为对应execution记录的operation_id - 若存在对象锁导致无法删除,可在业务允许的前提下重启SQL Server集成服务,再重新执行删除操作。
报错截图参考


内容的提问来源于stack exchange,提问作者Johan Pérez
相关产品推荐
相关产品推荐

