Affected versions: Windows Server 2022

πŸ“– ~1 min read

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution β€” Primary Fix
  7. Solution β€” Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

After a cumulative update, SQL Server on Windows Server 2022 may fail to start or enter repeated start-stop cycles. Application databases become unavailable, scheduled jobs fail, and dependent line-of-business services degrade quickly. This has immediate SLA impact for transactional or reporting workloads.

Environment & Reproduction

The issue commonly appears after patching and reboot when SQL binaries, startup parameters, or dependent components are partially updated. Reproducing usually involves restarting the SQL service after CU install in environments with strict startup dependencies.

Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10
Get-Service -Name MSSQLSERVER,SQLSERVERAGENT
Get-WinEvent -LogName Application -MaxEvents 40 | Where-Object {$_.ProviderName -match 'MSSQL'} | Select TimeCreated,Id,LevelDisplayName,Message

Root Cause Analysis

Primary root causes include failed CU post-actions, invalid startup parameters, ACL drift on SQL data directories, and missing VC++ runtime dependencies. In some cases, a pending reboot or system file inconsistency blocks SQL engine initialization.

Quick Triage

Confirm service state, crash pattern, and recent error events before any destructive change.

sc.exe query MSSQLSERVER
Get-ItemProperty 'HKLM:/SYSTEM/CurrentControlSet/Services/MSSQLSERVER' | Select-Object ImagePath,Start
Get-EventLog -LogName Application -Newest 30 | Where-Object {$_.Source -match 'MSSQLSERVER|SQLSERVERAGENT'}

Step-by-Step Diagnosis

Inspect SQL error logs, validate storage permissions, and confirm binaries/services are coherent after patching.

$elog = 'C:/Program Files/Microsoft SQL Server/MSSQL16.MSSQLSERVER/MSSQL/Log/ERRORLOG'
if (Test-Path $elog) { Get-Content $elog -Tail 200 }
icacls 'C:/Program Files/Microsoft SQL Server'
Get-ChildItem 'HKLM:/SOFTWARE/Microsoft/Microsoft SQL Server'
sfc /verifyonly
Illustrative mockup for windows-server-2022 β€” terminal_or_powershell
Diagnostic output for SQL Server service startup failures β€” Illustrative mockup β€” Progressive Robot

Solution β€” Primary Fix

Repair Windows image health, then restart SQL services with dependency-aware order. If startup parameters are broken, reset them to validated defaults.

Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

dism /online /cleanup-image /restorehealth
sfc /scannow
Restart-Service -Name SQLSERVERAGENT -ErrorAction SilentlyContinue
Restart-Service -Name MSSQLSERVER -Force
Get-Service -Name MSSQLSERVER,SQLSERVERAGENT
Illustrative mockup for windows-server-2022 β€” event_or_log_viewer
Recovery steps for SQL Server CU startup regression β€” Illustrative mockup β€” Progressive Robot

Solution β€” Alternative Approaches

If startup still fails, use minimal configuration startup, then apply engine repair from setup media and revalidate collation/system databases.

net stop MSSQLSERVER
# Start in minimal mode for emergency access
sqlservr.exe -f -m
# In another shell, inspect configuration
Get-ItemProperty 'HKLM:/SOFTWARE/Microsoft/Microsoft SQL Server/MSSQL16.MSSQLSERVER/MSSQLServer/Parameters'

Verification & Acceptance Criteria

Resolution is complete when SQL service is stable, jobs run, and error logs show clean startup without repeated fatal entries.

Get-Service MSSQLSERVER,SQLSERVERAGENT
Invoke-Sqlcmd -Query "SELECT @@VERSION AS BuildInfo"
Get-WinEvent -LogName Application -MaxEvents 25 | Where-Object {$_.ProviderName -match 'MSSQL' -and $_.LevelDisplayName -eq 'Error'}

Rollback Plan

If remediation introduces regression, rollback the latest CU and restore known-good SQL binaries/configuration from backup snapshot.

Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5
# Example rollback path for update package if applicable
wusa /uninstall /kb: /quiet /norestart
wbadmin get versions

Prevention & Hardening

Use staged patch windows, pre-check SQL service health, and baseline startup parameters/ACLs before and after each CU cycle.

Get-ItemProperty 'HKLM:/SOFTWARE/Microsoft/Microsoft SQL Server/MSSQL16.MSSQLSERVER/MSSQLServer/Parameters' > C:/Temp/sql-startup-params.txt
Test-Path 'C:/Program Files/Microsoft SQL Server'
Get-ScheduledTask | Where-Object {$_.TaskName -match 'SQL'}

Often associated with SQL error 17113/3417, service timeout 7000/7009 events, and post-update dependency failures in SQL Agent or Full-Text services.

View all Windows Server 2022 tutorials on the Tutorials Hub β†’

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

Microsoft Learn documentation for SQL Server startup troubleshooting, Windows servicing health with DISM/SFC, and SQL Server cumulative update guidance for supported builds.

Need Expert Help?

If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today β€” we respond within one business day.