问题现象:
 安装 SQL Server 2022 后,SQL Server Integration Services (SSIS) 服务无法启动,日志报错 “服务无法响应控制请求”(错误代码 1067)或 “依赖服务不存在或已标记为删除”。
快速诊断
-  
检查服务状态与依赖项:
# 查看 SSIS 服务状态及依赖服务 Get-Service -Name "SSISScaleOutMaster140","SSISScaleOutWorker140" | Select-Object Name, Status, DependentServices-  
关键依赖服务:
-  
Windows Event Log
 -  
Remote Procedure Call (RPC)
 
 -  
 
 -  
 -  
验证安装完整性:
# 检查 SSIS 组件是否已安装 Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE Name LIKE '%Integration Services%'" -  
排查端口冲突:
# 检查默认端口 8391(主节点)和 8392(工作节点)是否被占用 netstat -ano | findstr ":8391\|:8392" 
解决方案
步骤 1:修复或重新安装 SSIS 组件
-  
通过安装中心修复:
-  
运行 SQL Server 安装中心,选择 维护 > 修复,勾选 Integration Services。
 
 -  
 -  
命令行静默修复:
setup.exe /ACTION=REPAIR /FEATURES=IS /INSTANCENAME=SSIS /Q 
步骤 2:配置服务启动账户与权限
-  
设置服务账户:
-  
打开 服务管理器,找到 SQL Server Integration Services 16.0。
 -  
右键选择 属性 > 登录,指定具有管理员权限的域账户(如
DOMAIN\SSIS_Service)。 
 -  
 -  
授予文件系统权限:
# 授予服务账户对 SSIS 目录的完全控制权限 icacls "C:\Program Files\Microsoft SQL Server\160\DTS" /grant "DOMAIN\SSIS_Service:(OI)(CI)F" 
步骤 3:修复依赖服务配置
-  
重置 Windows Event Log 服务:
sc config EventLog start= auto Start-Service EventLog -  
重建 RPC 依赖项:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\SSISScaleOutMaster140" -Name "DependOnService" -Value "RpcSs" Restart-Service SSISScaleOutMaster140 -Force 
验证与日志分析
-  
测试服务启动:
Start-Service SSISScaleOutMaster140 Get-Service SSISScaleOutMaster140 | Select-Object Status -  
检查 SSIS 日志:
-  
主节点日志:
C:\Program Files\Microsoft SQL Server\160\DTS\Binn\Master.log -  
工作节点日志:
C:\Program Files\Microsoft SQL Server\160\DTS\Binn\Worker.log -  
搜索关键词
Failed to initialize components或Port conflict。 
 -  
 -  
验证 SSIS 包执行:
# 使用 dtutil 工具测试包加载 dtutil /FILE "C:\SSIS\TestPackage.dtsx" /CHECKEXIST 
扩展场景:分布式 Scale-Out 配置问题
-  
错误示例:
The Scale Out Master service cannot connect to the SQL Server instance -  
解决方案:
-  
配置数据库连接字符串:
<!-- 修改 Master.dtsx 配置文件 --> <configuration><SqlServerInstance>SQLServerName</SqlServerInstance><CatalogDatabase>SSISDB</CatalogDatabase> </configuration> -  
启用混合身份验证:
ALTER LOGIN [DOMAIN\SSIS_Service] WITH PASSWORD = 'SecureP@ss!'; ALTER DATABASE SSISDB SET TRUSTWORTHY ON; 
 -  
 
安全加固建议
-  
限制防火墙规则:
# 仅允许可信 IP 访问 Scale-Out 端口 New-NetFirewallRule -DisplayName "SSIS-ScaleOut" -Direction Inbound -Protocol TCP -LocalPort 8391-8392 -RemoteAddress 192.168.1.0/24 -Action Allow -  
启用加密通信:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\160\SSIS" -Name "EncryptScaleOutCommunication" -Value 1 
通过以上步骤,可解决大部分 SSIS 服务启动失败问题。若为集群环境,需确保所有节点同步配置,并验证负载均衡策略。生产环境中建议定期备份 SSIS 目录 (C:\Program Files\Microsoft SQL Server\160\DTS) 并监控服务健康状态。
关于作者:
15年互联网开发、带过10-20人的团队,多次帮助公司从0到1完成项目开发,在TX等大厂都工作过。当下为退役状态,写此篇文章属个人爱好。本人开发期间收集了很多开发课程等资料,需要可联系我
