問題現象:
安裝 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等大廠都工作過。當下為退役狀態,寫此篇文章屬個人愛好。本人開發期間收集了很多開發課程等資料,需要可聯系我
?