Affected versions: Windows Server 2016

πŸ“– ~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

WSUS console on Windows Server 2016 times out and clients report long scan times because SUSDB indexes are heavily fragmented.

Environment & Reproduction

Reproduces on long-running WSUS servers that have never had a maintenance plan applied to SUSDB.

Get-WsusServer | Get-WsusUpdate -Approval Approved | Measure-Object

Root Cause Analysis

Without scheduled re-indexing, SUSDB fragmentation grows over months, increasing query duration and IIS pool memory pressure.

Quick Triage

Measure SUSDB size and check index fragmentation through sqlcmd against the Windows Internal Database.

sqlcmd -S \.pipeMICROSOFT##WIDtsqlquery -d SUSDB -Q "SELECT name, fill_factor FROM sys.indexes"

Step-by-Step Diagnosis

Identify the largest tables and most fragmented indexes.

sqlcmd -S \.pipeMICROSOFT##WIDtsqlquery -d SUSDB -i HighFragIndexes.sql
Illustrative mockup for windows-server-2016 β€” terminal_or_powershell
Diagnostic output for packaging/wsus-db-bloat β€” Illustrative mockup β€” Progressive Robot

Solution β€” Primary Fix

Run the official WSUS re-index script and increase the IIS WsusPool memory limit.

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

sqlcmd -S \.pipeMICROSOFT##WIDtsqlquery -i WsusDBMaintenance.sql
Import-Module WebAdministration
Set-ItemProperty IIS:AppPoolsWsusPool -Name recycling.periodicRestart.privateMemory -Value 0
Illustrative mockup for windows-server-2016 β€” services_panel
Resolution for packaging/wsus-db-bloat β€” Illustrative mockup β€” Progressive Robot

Solution β€” Alternative Approaches

Schedule weekly cleanup and re-index jobs and offload heavy reporting to a replica.

# Register a scheduled task running WsusDBMaintenance.sql weekly

Verification & Acceptance Criteria

WSUS console responds quickly and client scans complete within expected window.

Get-WsusServer | Get-WsusComputer | Where LastSyncTime -gt (Get-Date).AddDays(-1) | Measure-Object

Rollback Plan

Rolling back is rarely required; if index changes harm performance, restore SUSDB from last good backup.

Restore-SqlDatabase SUSDB -BackupFile susdb_prev.bak

Prevention & Hardening

Apply WSUS cleanup, re-indexing, and content trimming as scheduled tasks from day one.

# Use Microsoft published WSUS maintenance SQL script

Related: IIS WsusPool crashes, slow update approvals, and disk space exhaustion in WSUSContent.

Related tutorial: View the step-by-step tutorial for Windows Server 2016.

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

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

Microsoft Learn WSUS maintenance documentation and SUSDB re-indexing best practices.

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.