问题现象:
安装 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:配置服务启动账户与权限
-
设置服务账户:
扫描二维码关注公众号,回复: 17539776 查看本文章-
打开 服务管理器,找到 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等大厂都工作过。当下为退役状态,写此篇文章属个人爱好。本人开发期间收集了很多开发课程等资料,需要可联系我